/* =====================================================================
   Praxis Tierlieb – Design (abgenommener Prototyp, übertragen auf Blöcke)
   Palette: Indigo #2D3E8F · Navy #19224E · Ink #232838 · Mist #F5F7FB
   Typo: Montserrat (Überschriften/UI) · PT Serif (Fließtext, Blocksatz)
   ===================================================================== */
:root{
  --pt-indigo:#204160; --pt-navy:#162D43; --pt-ink:#232838; --pt-soft:#5B6178;
  --pt-mist:#F5F7FB; --pt-line:#E4E8F3;
  --pt-serif:'PT Serif',Georgia,'Times New Roman',serif;
  --pt-sans:'Montserrat',-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
}

/* ---------- Grundtypografie ---------- */
body{font-family:var(--pt-serif);color:var(--pt-ink);font-size:17px;line-height:1.75}
h1,h2,h3,h4,h5,h6{font-family:var(--pt-sans);color:var(--pt-ink)}
.pt-just, .pt-just p{text-align:justify;hyphens:auto}
a{color:var(--pt-indigo)}

/* ---------- Header ---------- */
.pt-header{border-bottom:1px solid var(--pt-line);padding-top:26px;text-align:center}
.pt-header .pt-logo img{width:64px;height:auto;margin:0 auto}
.pt-brandline{font-family:var(--pt-sans);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--pt-indigo);margin:8px 0 14px}
.pt-header .wp-block-navigation{border-top:1px solid var(--pt-line);padding:10px 0;justify-content:center}
.pt-header .wp-block-navigation a{font-family:var(--pt-sans);font-size:14px;letter-spacing:.06em;text-transform:uppercase;font-weight:500;color:var(--pt-ink);padding:8px 12px;text-decoration:none}
.pt-header .wp-block-navigation a:hover{color:var(--pt-indigo)}
.pt-header .wp-block-navigation .pt-cta a{background:var(--pt-indigo);color:#fff;border-radius:2px}
.pt-header .wp-block-navigation .pt-cta a:hover{background:var(--pt-navy)}

/* ---------- Typo-Signatur ---------- */
.pt-kicker{font-family:var(--pt-serif);color:var(--pt-soft);font-size:18px;margin-bottom:6px}
h1.pt-tt,h2.pt-tt{font-weight:400;line-height:1.15;letter-spacing:-.01em}
h1.pt-tt{font-size:clamp(32px,4.6vw,48px)}
h2.pt-tt{font-size:clamp(26px,3.6vw,38px)}
.pt-tt strong{font-weight:700;color:var(--pt-indigo)}
.pt-band .pt-tt,.pt-band .pt-kicker,.pt-band h1,.pt-band h2,.pt-band p{color:#fff}
.pt-band .pt-tt strong{color:#AEBBF2}
.pt-band .pt-lead{color:#C6CCE6}
.pt-ornament{display:flex;align-items:center;justify-content:center;gap:14px;margin:22px auto}
.pt-ornament::before,.pt-ornament::after{content:"";height:1px;width:64px;background:var(--pt-line)}
.pt-ornament span{width:7px;height:7px;background:var(--pt-indigo);transform:rotate(45deg)}
.pt-band .pt-ornament::before,.pt-band .pt-ornament::after{background:rgba(255,255,255,.25)}
.pt-lead{color:var(--pt-soft)}

/* ---------- Abschnitte ---------- */
.pt-section{padding-top:88px;padding-bottom:88px}
.pt-tint{background:var(--pt-mist)}
.pt-band{background:var(--pt-navy)}

/* ---------- Buttons ---------- */
.wp-block-button__link{font-family:var(--pt-sans);background:var(--pt-indigo);color:#fff;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:15px 28px;border-radius:2px}
.wp-block-button__link:hover{background:var(--pt-navy);color:#fff}
.is-style-outline .wp-block-button__link{background:transparent;color:var(--pt-indigo);border:1px solid var(--pt-indigo)}
.is-style-outline .wp-block-button__link:hover{background:var(--pt-indigo);color:#fff}
.pt-btn-white .wp-block-button__link{background:#fff;color:var(--pt-navy)}
.pt-btn-white .wp-block-button__link:hover{background:#E8ECFA;color:var(--pt-navy)}

/* ---------- Hero ---------- */
.pt-aktuell{border-left:1px solid var(--pt-line);padding-left:40px}
.pt-aktuell h3{font-weight:700;font-size:24px;margin-bottom:10px}
.pt-aktuell p{color:var(--pt-soft)}
.pt-photoband img{width:100%;aspect-ratio:21/9;object-fit:cover}

/* ---------- Sprechzeiten ---------- */
.pt-time{border-top:2px solid var(--pt-indigo);padding-top:14px}
.pt-d{font-family:var(--pt-sans);font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--pt-soft);margin:0}
.pt-h{font-family:var(--pt-serif);font-size:22px;margin:2px 0 0}

/* ---------- Leistungs-Karten ---------- */
.pt-card{text-align:center}
.pt-card .wp-block-image{margin:0}
.pt-card .wp-block-image img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.pt-badge{width:66px;height:66px;border-radius:50%;background:var(--pt-indigo);border:4px solid #fff;display:flex;align-items:center;justify-content:center;margin:-35px auto 12px;position:relative;box-shadow:0 3px 10px rgba(25,34,78,.18)}
.pt-badge svg{width:28px;height:28px;stroke:#fff;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.pt-card .pt-kicker{font-size:16px}
.pt-card h3{font-weight:700;font-size:20px;margin:2px 0 10px}
.pt-card p:not(.pt-kicker){font-size:15px;color:var(--pt-soft);text-align:center}

/* ---------- Team ---------- */
.pt-tcard{background:#fff;padding-bottom:30px;height:100%}
.pt-tcard .wp-block-image{margin:0 0 20px}
.pt-tcard .wp-block-image img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.pt-tcard .pt-kicker,.pt-tcard h3,.pt-tcard p{padding-left:30px;padding-right:30px;color:var(--pt-ink)}
.pt-tcard .pt-kicker{font-size:16px;color:var(--pt-soft)}
.pt-tcard h3{font-weight:700;font-size:24px;margin:0 0 12px}
.pt-tcard p:not(.pt-kicker){font-size:15.5px;color:var(--pt-soft)}

/* ---------- Besuch ---------- */
.pt-point{text-align:center}
.pt-diamond{width:9px;height:9px;background:var(--pt-indigo);transform:rotate(45deg);margin:0 auto 18px}
.pt-point h3{font-weight:700;font-size:20px;margin-bottom:10px}
.pt-point .pt-kicker{font-size:16px}
.pt-point p:not(.pt-kicker){font-size:15px;color:var(--pt-soft)}

/* ---------- Kontakt ---------- */
.pt-cbox{border:1px solid var(--pt-line);padding:36px;height:100%}
.pt-cbox h3{font-weight:700;font-size:21px;margin-bottom:16px}
.pt-cbox table{width:100%;border-collapse:collapse;font-size:16px}
.pt-cbox td{padding:8px 0;border-bottom:1px solid var(--pt-line)}
.pt-cbox td:last-child{text-align:right;font-family:var(--pt-serif);font-size:18px}
.pt-map{aspect-ratio:21/8;background:var(--pt-mist);border:1px solid var(--pt-line);display:flex;align-items:center;justify-content:center;color:var(--pt-soft);font-family:var(--pt-sans);font-size:14px;letter-spacing:.08em;text-transform:uppercase}

/* ---------- Notfall ---------- */
.pt-notruf{border:1px solid var(--pt-indigo);padding:48px;text-align:center}
.pt-tel a{font-family:var(--pt-sans);font-size:clamp(28px,4.6vw,42px);font-weight:700;color:var(--pt-indigo);text-decoration:none}
.pt-hinweis{background:var(--pt-mist);border-left:3px solid var(--pt-indigo);padding:22px 26px;font-size:15px;color:var(--pt-soft)}

/* ---------- Footer ---------- */
.pt-footer{background:var(--pt-navy);color:#C6CCE6;padding-top:64px;padding-bottom:32px;font-size:15px}
.pt-footer h4{color:#fff;font-weight:700;font-size:17px;margin-bottom:12px}
.pt-footer p{color:#C6CCE6}
.pt-footer a{color:#fff;text-decoration:none}
.pt-footer a:hover{text-decoration:underline}
.pt-footer .pt-bottom{border-top:1px solid rgba(255,255,255,.15);margin-top:44px;padding-top:22px;text-align:center;font-size:13px;letter-spacing:.06em;font-family:var(--pt-sans)}

/* ---------- Responsiv ---------- */
@media (max-width:781px){
  .pt-section{padding-top:60px;padding-bottom:60px}
  .pt-aktuell{border-left:none;border-top:1px solid var(--pt-line);padding-left:0;padding-top:28px}
  .pt-badge{margin-top:-32px}
}
