.elementor-466 .elementor-element.elementor-element-2b64378{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-4ab825d *//* =================================================================
   TOP-PHYSIO NRW · STANDORT-SEITEN CSS  (wiederverwendbar)
   =================================================================
   ELEMENTOR: Site Settings → Custom CSS  (an Header/Footer ANHÄNGEN)
   Eine CSS für alle Standorte (Köln, Düsseldorf, Bochum, Meckenheim) –
   pro Seite nur das HTML mit den jeweiligen Daten austauschen.
   Nutzt .tpn-container-wide und .tpn-btn / .tpn-btn-primary weiter.
   Markengrün #008c45.
   ================================================================= */

.tpn-loc {
  font-family: 'Manrope', -apple-system, system-ui, sans-serif;
  color: #3b3b3b;
}
.tpn-loc * { box-sizing: border-box; }
.tpn-loc-eyebrow {
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #008c45;
  margin: 0 0 12px;
}

/* Sekundär-Button (Outline grün) für Standort-Seiten */
.tpn-btn-ghost {
  background-color: transparent;
  color: #00733a;
  border-color: #cde9d7;
}
.tpn-btn-ghost:hover {
  background-color: #ecf7f0;
  border-color: #008c45;
  color: #005c2f;
}

/* ── HERO ── */
.tpn-loc-hero {
  background: linear-gradient(180deg, #f3f8f5 0%, #ffffff 100%);
  padding: 56px 0 64px;
}
.tpn-loc-hero-grid {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 48px;
  align-items: center;
}
.tpn-loc-hero-title {
  font-family: 'Fraunces', 'Georgia', serif;
  font-weight: 700;
  font-size: clamp(2rem, 4.5vw, 3rem);
  line-height: 1.12;
  margin: 0 0 16px;
  color: #1f2a24;
}
.tpn-loc-hero-lead {
  font-size: 1.1rem;
  line-height: 1.65;
  color: #5b6168;
  margin: 0 0 28px;
  max-width: 520px;
}
.tpn-loc-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.tpn-loc-hero-media {
  position: relative;
}
.tpn-loc-hero-media img {
  width: 100%;
  height: 100%;
  max-height: 440px;
  object-fit: cover;
  border-radius: 20px;
  display: block;
  box-shadow: 0 30px 60px rgba(0, 92, 47, 0.18);
}
.tpn-loc-hero-chip {
  position: absolute;
  left: 20px;
  bottom: 20px;
  background-color: #008c45;
  color: #ffffff;
  font-size: 0.82rem;
  font-weight: 700;
  padding: 9px 16px;
  border-radius: 999px;
  box-shadow: 0 10px 24px rgba(0, 92, 47, 0.28);
}

/* ── FAKTEN-LEISTE ── */
.tpn-loc-facts {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-top: 40px;
}
.tpn-loc-fact {
  background-color: #ffffff;
  border: 1px solid #e8ece9;
  border-radius: 14px;
  padding: 20px;
  display: flex;
  gap: 14px;
  align-items: flex-start;
}
.tpn-loc-fact-icon {
  width: 42px;
  height: 42px;
  flex-shrink: 0;
  border-radius: 11px;
  background-color: #dcefe3;
  display: grid;
  place-items: center;
  font-size: 1.15rem;
}
.tpn-loc-fact-label {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #008c45;
  margin: 0 0 4px;
}
.tpn-loc-fact-value {
  font-size: 0.95rem;
  line-height: 1.45;
  color: #3b3b3b;
}
.tpn-loc-fact-value a { color: #3b3b3b; text-decoration: none; }
.tpn-loc-fact-value a:hover { color: #008c45; }

/* ── SECTION ── */
.tpn-loc-section { padding: 64px 0; }
.tpn-loc-section.alt { background-color: #f5f7f5; }
.tpn-loc-section-head {
  max-width: 720px;
  margin: 0 auto 40px;
  text-align: center;
}
.tpn-loc-section-head h2 {
  font-family: 'Fraunces', 'Georgia', serif;
  font-weight: 700;
  font-size: clamp(1.6rem, 3.2vw, 2.2rem);
  line-height: 1.2;
  margin: 0 0 14px;
  color: #1f2a24;
}
.tpn-loc-section-head p {
  font-size: 1.02rem;
  line-height: 1.7;
  color: #5b6168;
  margin: 0;
}

/* ── HIGHLIGHTS ── */
.tpn-loc-highlights {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.tpn-loc-highlight {
  background-color: #ffffff;
  border: 1px solid #e8ece9;
  border-radius: 16px;
  padding: 26px 22px;
  text-align: center;
  transition: transform 0.25s, box-shadow 0.25s;
}
.tpn-loc-highlight:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(0, 92, 47, 0.1);
}
.tpn-loc-highlight-icon {
  width: 56px;
  height: 56px;
  margin: 0 auto 16px;
  border-radius: 14px;
  background: linear-gradient(135deg, #008c45 0%, #00733a 100%);
  display: grid;
  place-items: center;
  font-size: 1.5rem;
}
.tpn-loc-highlight h3 {
  font-size: 1.05rem;
  font-weight: 700;
  margin: 0 0 8px;
  color: #1f2a24;
}
.tpn-loc-highlight p {
  font-size: 0.9rem;
  line-height: 1.6;
  color: #6b6560;
  margin: 0;
}

/* ── THEMEN/KURSE ── */
.tpn-loc-topics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.tpn-loc-topic {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background-color: #ffffff;
  border: 1px solid #e8ece9;
  border-radius: 12px;
  padding: 18px 20px;
  text-decoration: none;
  color: #1f2a24;
  font-weight: 600;
  font-size: 0.98rem;
  transition: border-color 0.2s, background-color 0.2s, transform 0.2s;
}
.tpn-loc-topic:hover {
  border-color: #008c45;
  background-color: #f3f8f5;
  transform: translateY(-2px);
}
.tpn-loc-topic::after {
  content: "→";
  color: #008c45;
  font-size: 1.1rem;
}

/* ── ANFAHRT / KONTAKT + MAP ── */
.tpn-loc-contact-grid {
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  gap: 32px;
  align-items: stretch;
}
.tpn-loc-map {
  border-radius: 18px;
  overflow: hidden;
  min-height: 380px;
  border: 1px solid #e8ece9;
  box-shadow: 0 18px 40px rgba(0, 92, 47, 0.08);
}
.tpn-loc-map iframe {
  width: 100%;
  height: 100%;
  min-height: 380px;
  border: 0;
  display: block;
}
.tpn-loc-info {
  background-color: #ffffff;
  border: 1px solid #e8ece9;
  border-radius: 18px;
  padding: 32px;
}
.tpn-loc-info h3 {
  font-size: 1.2rem;
  font-weight: 700;
  margin: 0 0 18px;
  color: #1f2a24;
}
.tpn-loc-info-row {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 12px 0;
  border-bottom: 1px solid #f0ece6;
  font-size: 0.95rem;
  line-height: 1.5;
  color: #3b3b3b;
}
.tpn-loc-info-row:last-of-type { border-bottom: none; }
.tpn-loc-info-row .ico { font-size: 1.1rem; line-height: 1.4; }
.tpn-loc-info-row strong { display: block; font-size: 0.74rem; text-transform: uppercase; letter-spacing: 0.08em; color: #008c45; margin-bottom: 2px; font-weight: 700; }
.tpn-loc-info-row a { color: #3b3b3b; text-decoration: none; }
.tpn-loc-info-row a:hover { color: #008c45; }
.tpn-loc-info .tpn-btn { margin-top: 20px; width: 100%; justify-content: center; }

/* ── WEITERE STANDORTE ── */
.tpn-loc-more {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}
.tpn-loc-more-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 22px;
  border-radius: 999px;
  border: 1px solid #e0e4e1;
  background-color: #ffffff;
  color: #3b3b3b;
  font-weight: 600;
  font-size: 0.93rem;
  text-decoration: none;
  transition: all 0.2s;
}
.tpn-loc-more-link:hover {
  border-color: #008c45;
  color: #008c45;
  background-color: #f3f8f5;
}

/* ── CTA-BAND ── */
.tpn-loc-cta {
  background: linear-gradient(135deg, #008c45 0%, #00733a 100%);
  color: #ffffff;
  text-align: center;
  padding: 56px 0;
}
.tpn-loc-cta h2 {
  font-family: 'Fraunces', 'Georgia', serif;
  font-weight: 700;
  font-size: clamp(1.6rem, 3.2vw, 2.1rem);
  margin: 0 0 12px;
}
.tpn-loc-cta p {
  font-size: 1.05rem;
  opacity: 0.92;
  margin: 0 0 26px;
}
.tpn-loc-cta .tpn-btn {
  background-color: #ffffff;
  color: #00733a;
  border-color: #ffffff;
}
.tpn-loc-cta .tpn-btn:hover {
  background-color: #eef7f1;
  color: #005c2f;
  border-color: #eef7f1;
  transform: translateY(-2px);
}

/* ── RESPONSIVE ── */
@media (max-width: 980px) {
  .tpn-loc-hero-grid { grid-template-columns: 1fr; gap: 32px; }
  .tpn-loc-hero-media { order: -1; }
  .tpn-loc-facts { grid-template-columns: repeat(2, 1fr); }
  .tpn-loc-highlights { grid-template-columns: repeat(2, 1fr); }
  .tpn-loc-topics { grid-template-columns: repeat(2, 1fr); }
  .tpn-loc-contact-grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .tpn-loc-facts,
  .tpn-loc-highlights,
  .tpn-loc-topics { grid-template-columns: 1fr; }
  .tpn-loc-section { padding: 44px 0; }
  .tpn-loc-hero { padding: 36px 0 44px; }
}/* End custom CSS */