/* =========================================================================
   Gruppenpraxis Mistelbach – Gestaltung „Ordinationstafel“ (Muster, 09/2026)
   Petrol-Email wie das Praxisschild, Messing als einzige warme Linie,
   Steckbuchstaben-Tafel für den Tagesstatus. Liegt über styles.css und
   greift nur auf Seiten mit <body class="tafel">.
   Schrift: Barlow Semi Condensed (SIL OFL 1.1, assets/fonts/OFL-Barlow.txt),
   lokal ausgeliefert – keine externen Verbindungen.
   ========================================================================= */

@font-face {
  font-family: "Barlow Semi Condensed";
  src: url("../assets/fonts/barlow-semi-condensed-latin-600-normal.woff2") format("woff2");
  font-weight: 600; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Barlow Semi Condensed";
  src: url("../assets/fonts/barlow-semi-condensed-latin-700-normal.woff2") format("woff2");
  font-weight: 700; font-style: normal; font-display: swap;
}

body.tafel {
  --emaille:       #0f4d5a;
  --emaille-tief:  #0a3540;
  --emaille-hell:  #e3edef;
  --grund:         #f2f6f5;
  --flaeche:       #e9f0ef;
  --messing:       #b08d4f;
  --messing-hell:  #dcc38d;
  --messing-tief:  #7a5f2f;
  --filz:          #113844;
  --lettern:       #f3f0e8;
  --tinte:         #102826;
  --tinte-weich:   #34504d;
  --gedaempft:     #5a716e;
  --linie:         rgba(16, 40, 38, .13);
  --schild:        "Barlow Semi Condensed", "Arial Narrow", sans-serif;

  --ink: var(--tinte);
  --ink-soft: var(--tinte-weich);
  --muted: var(--gedaempft);
  --line: #d5e1df;
  --surface: var(--flaeche);
  --ring: 0 0 0 3px rgba(176, 141, 79, .55);
  /* alte Teal-Werte auf Petrol umlegen (Kontrast, eine Markenfarbe) */
  --teal-700: var(--emaille);
  --teal-600: var(--emaille);
  --teal-500: #2b7d7d;
  --grad-teal: var(--emaille);
  /* Logo einfarbig Türkis (Farbwahl Özkan 25.09.2026, Vorschlag 1) */
  --logo-grad: linear-gradient(135deg, #1fb0aa, #1597a0);

  background: var(--grund);
  color: var(--tinte);
  caret-color: var(--emaille);
  scrollbar-color: var(--emaille) var(--grund);
}
body.tafel ::selection { background: var(--messing-hell); color: var(--tinte); }
body.tafel :focus-visible { box-shadow: var(--ring); border-radius: 6px; }
body.tafel a { text-underline-offset: 4px; }

/* ------------------------------------------------------------ Kopfleiste */
.tafel .header { background: rgba(242, 246, 245, .96); backdrop-filter: none; -webkit-backdrop-filter: none; }
.tafel .header.scrolled { border-color: rgba(176, 141, 79, .45); box-shadow: 0 1px 0 rgba(176, 141, 79, .25), 0 6px 16px -12px rgba(8, 63, 64, .35); }
.tafel .brand-text strong { font-family: var(--schild); font-weight: 700; font-size: 1.14rem; letter-spacing: .01em; }
.tafel .brand-text span { font-family: var(--schild); font-weight: 600; font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; color: var(--gedaempft); }
.tafel .nav a {
  font-family: var(--schild); font-weight: 600; font-size: 1.02rem; letter-spacing: .02em;
  color: var(--tinte); border-radius: 6px; background: none;
}
.tafel .nav a:hover { color: var(--emaille); background: none; text-decoration: underline; text-decoration-color: var(--messing); text-decoration-thickness: 2px; }
.tafel .icon-btn { border-radius: 8px; background: var(--emaille); border-color: var(--emaille); color: #fff; }
.tafel .icon-btn:hover { background: var(--emaille-tief); }
.tafel .nav-toggle { border-radius: 8px; }
.tafel .mobile-menu { background: var(--grund); }
.tafel .mobile-menu a { font-family: var(--schild); font-size: 1.2rem; border-radius: 6px; border-color: var(--linie); }

/* --------------------------------------------------------------- Knöpfe */
.tafel .btn {
  font-family: var(--schild); font-weight: 600; font-size: 1.08rem; letter-spacing: .02em;
  border-radius: 8px; padding: 15px 22px;
  transition: background .18s, border-color .18s, box-shadow .18s, transform .12s;
}
.tafel .btn-primary { background: var(--emaille); color: #fff; box-shadow: 0 1px 0 rgba(0,0,0,.12), 0 6px 14px -8px rgba(8, 63, 64, .6); }
.tafel .btn-primary:hover { background: var(--emaille-tief); transform: translateY(-1px); box-shadow: 0 1px 0 rgba(0,0,0,.12), 0 10px 18px -10px rgba(8, 63, 64, .7); }
.tafel .btn-ghost { background: #fff; color: var(--tinte); border: 1.5px solid var(--messing); box-shadow: none; }
.tafel .btn-ghost:hover { background: rgba(176, 141, 79, .1); color: var(--tinte); border-color: var(--messing-tief); transform: translateY(-1px); }
.tafel .btn:active { transform: translateY(1px); box-shadow: none; }
.tafel .btn[aria-disabled="true"], .tafel .btn:disabled { opacity: .45; pointer-events: none; }

/* ------------------------------------------------------ Erstes Bild: Schild */
.tafel .tafel-hero { background: var(--grund); }
.tafel .tafel-hero::before { display: none; }
.tafel .tafel-hero .hero-grid { align-items: start; grid-template-columns: 1.2fr .8fr; }

.schild {
  position: relative;
  padding: clamp(30px, 4vw, 46px) clamp(26px, 4vw, 46px) clamp(24px, 3vw, 34px);
  border-radius: 10px;
  color: #fff;
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,0) 38%),
    var(--emaille);
  /* weiße Zierlinie wie bei emaillierten Schildern */
  box-shadow:
    inset 0 0 0 8px var(--emaille),
    inset 0 0 0 9.5px rgba(255,255,255,.6),
    0 1px 1px rgba(8, 40, 40, .2),
    0 18px 34px -18px rgba(8, 40, 40, .55);
}
.schraube {
  position: absolute; width: 11px; height: 11px; border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, var(--messing-hell), var(--messing) 55%, var(--messing-tief));
  box-shadow: 0 1px 1px rgba(0,0,0,.35);
}
.schraube::after {
  content: ""; position: absolute; left: 2px; right: 2px; top: 50%; height: 1.5px; margin-top: -.75px;
  background: rgba(74, 56, 24, .7); transform: rotate(-35deg);
}
.schraube:nth-child(1) { top: 20px; left: 20px; }
.schraube:nth-child(2) { top: 20px; right: 20px; }
.schraube:nth-child(3) { bottom: 20px; left: 20px; }
.schraube:nth-child(4) { bottom: 20px; right: 20px; }
.schraube:nth-child(2)::after { transform: rotate(20deg); }
.schraube:nth-child(3)::after { transform: rotate(80deg); }
.schraube:nth-child(4)::after { transform: rotate(-60deg); }

.schild-kopf {
  font-family: var(--schild); font-weight: 600; font-size: .98rem;
  letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.84);
  padding-inline: 12px;
}
.tafel .schild h1 {
  font-family: var(--schild); font-weight: 700; color: #fff;
  font-size: clamp(2.35rem, 5.2vw, 3.7rem); line-height: 1.02; letter-spacing: .005em;
  margin-top: 12px; padding-inline: 12px; text-wrap: balance;
}
.schild-ekg { display: block; width: 100%; height: 30px; margin: 20px 0 12px; overflow: visible; }
.schild-ekg path {
  fill: none; stroke: var(--messing-hell); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
  stroke-dasharray: 1; stroke-dashoffset: 0;
  animation: ekgZug 1.3s cubic-bezier(.16, 1, .3, 1) .15s both;
}
@keyframes ekgZug { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
.schild-fuss {
  font-family: var(--schild); font-weight: 700; font-size: 1.02rem;
  letter-spacing: .16em; text-transform: uppercase; color: var(--messing-hell);
  padding-inline: 12px;
}

.tafel .tafel-hero p.lead { font-size: clamp(1.1rem, 1.6vw, 1.26rem); color: var(--tinte); font-weight: 600; margin-top: 26px; }
.tafel .hero-points { border-top: 1px solid var(--linie); margin-top: 18px; }
.tafel .hero-points li { border-bottom: 1px solid var(--linie); padding: 13px 2px; }
.tafel .hero-points b { font-family: var(--schild); font-weight: 700; font-size: 1.14rem; letter-spacing: .01em; }
.tafel .hero-points li > div > span { color: var(--tinte-weich); font-size: .96rem; }

/* ------------------------------------------- Erstes Bild: Steckbuchstaben */
.tafel .hero-card.steckbrett {
  background: none; border: none; box-shadow: none; padding: 0; gap: 14px; align-self: start;
}
.steck-rahmen {
  border: 11px solid transparent;
  border-radius: 9px;
  padding: 22px 22px 26px;
  background:
    repeating-linear-gradient(180deg, rgba(0,0,0,.24) 0 1px, rgba(255,255,255,.025) 1px 2px, transparent 2px 10px) padding-box,
    linear-gradient(var(--filz), var(--filz)) padding-box,
    linear-gradient(135deg, var(--messing-hell), var(--messing) 42%, var(--messing-tief) 100%) border-box;
  box-shadow: 0 1px 1px rgba(8, 40, 40, .25), 0 18px 34px -18px rgba(8, 40, 40, .6);
}
.steck-kopf {
  font-family: var(--schild); font-weight: 700; font-size: 1rem; letter-spacing: .3em;
  text-transform: uppercase; color: var(--messing-hell);
}
.tafel .steckbrett .hc-body {
  margin-top: 14px; gap: 14px;
  font-family: var(--schild); font-weight: 600; text-transform: uppercase; letter-spacing: .06em;
  color: var(--lettern); font-variant-numeric: tabular-nums;
}
.tafel .steckbrett .hc-status { font-weight: 700; font-size: clamp(1.45rem, 2.4vw, 1.75rem); letter-spacing: .05em; gap: 12px; }
.tafel .steckbrett .hc-status .led {
  width: 13px; height: 13px; border: 2px solid rgba(255,255,255,.35);
  box-shadow: inset 0 -2px 3px rgba(0,0,0,.35);
}
.tafel .steckbrett .hc-status .led.open { background: #62d394; }
.tafel .steckbrett .hc-status .led.closed { background: #c95e4e; }
.tafel .steckbrett .hc-row { color: var(--lettern); font-size: 1.08rem; line-height: 1.35; }
.tafel .steckbrett .hc-row svg,
.tafel .steckbrett .today-docs svg { display: none; }
.tafel .steckbrett .today-docs b { display: block; font-weight: 700; color: #fff; margin-top: 2px; }
.tafel .steckbrett .hc-body > * { animation: stecken .5s cubic-bezier(.16, 1, .3, 1) both; }
.tafel .steckbrett .hc-body > :nth-child(2) { animation-delay: .12s; }
.tafel .steckbrett .hc-body > :nth-child(3) { animation-delay: .24s; }
@keyframes stecken { from { opacity: 0; transform: translateY(-7px); } to { opacity: 1; transform: none; } }

.tafel .steckbrett .hc-actions { border-top: none; padding-top: 0; gap: 10px; }
.tafel .steckbrett .hc-actions .btn svg { width: 19px; height: 19px; }

/* ------------------------------------------------------------ Abschnitte */
.tafel .section--tint { background: var(--emaille-hell); border-color: rgba(15, 77, 90, .12); }
.tafel .section--surface { background: var(--flaeche); }
.tafel .section-title {
  font-family: var(--schild); font-weight: 700; letter-spacing: .005em; color: var(--tinte);
  font-size: clamp(2rem, 4vw, 2.8rem); line-height: 1.05;
}
.tafel .section-title::after {
  content: ""; display: block; width: 56px; height: 3px; margin-top: 14px; border-radius: 2px;
  background: var(--messing);
}
.tafel .section-sub { color: var(--tinte-weich); }
.tafel .news-dot {
  animation: none; width: 11px; height: 11px; margin-left: 14px; vertical-align: .35em;
  background: var(--messing); box-shadow: 0 1px 1px rgba(0,0,0,.3);
}

/* Aktuelles als Aushang: Zettel mit Magnet */
.tafel .news-card {
  position: relative; background: #fff; border: 1px solid var(--linie); border-radius: 3px;
  padding-top: 30px;
  box-shadow: 0 1px 1px rgba(8, 40, 40, .08), 0 10px 18px -12px rgba(8, 40, 40, .35);
}
.tafel .news-card:hover { transform: none; box-shadow: 0 1px 1px rgba(8, 40, 40, .08), 0 12px 22px -12px rgba(8, 40, 40, .45); border-color: var(--linie); }
.tafel .news-card.pinned { background: #fff; border-color: var(--linie); }
.tafel .news-card::before {
  content: ""; position: absolute; top: -8px; left: 50%; width: 18px; height: 18px; margin-left: -9px; border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #3f7f8c, var(--emaille) 60%, var(--emaille-tief));
  box-shadow: 0 2px 3px rgba(0,0,0,.3);
}
.tafel .news-card.pinned::before { background: radial-gradient(circle at 35% 30%, var(--messing-hell), var(--messing) 55%, var(--messing-tief)); }
.tafel .news-card .pin-flag { display: none; }
.tafel .news-card h3 { font-family: var(--schild); font-weight: 700; font-size: 1.32rem; letter-spacing: .005em; }
.tafel .news-date { font-family: var(--schild); font-weight: 600; font-size: .95rem; color: var(--emaille); font-variant-numeric: tabular-nums; }
.tafel .badge { border-radius: 3px; font-family: var(--schild); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; font-size: .76rem; }
.tafel .badge.info { background: var(--emaille-hell); color: var(--emaille); border-color: rgba(15, 77, 90, .2); }
.tafel .badge.zeiten { background: rgba(176, 141, 79, .14); color: var(--messing-tief); border-color: rgba(176, 141, 79, .35); }

/* Anwesenheit als Wochentafel */
.tafel .legend i { border-radius: 2px; }
.tafel .legend i.single { background: var(--emaille-hell); border: 1px solid rgba(15, 77, 90, .3); }
.tafel .legend i.multi { background: var(--emaille); }
.tafel .week-nav-btn { border-radius: 8px; border: 1.5px solid var(--messing); color: var(--emaille); box-shadow: none; }
.tafel .week-nav-btn:hover:not(:disabled) { background: rgba(176, 141, 79, .12); border-color: var(--messing-tief); }
.tafel .week-nav-label b { font-family: var(--schild); font-weight: 700; font-size: 1.12rem; font-variant-numeric: tabular-nums; }
.tafel .week-today { color: var(--emaille); }
.tafel .week {
  gap: 0; background: #fff; border: 1px solid rgba(15, 77, 90, .28); border-radius: 8px; overflow: hidden;
  box-shadow: 0 2px 3px -1px rgba(8, 40, 40, .12);
}
.tafel .day {
  border: none; border-right: 1px solid rgba(15, 77, 90, .14); border-radius: 0; box-shadow: none;
  padding: 0 0 18px; gap: 10px; background: #fff;
}
.tafel .day:last-child { border-right: none; }
.tafel .day:hover { transform: none; box-shadow: none; }
.tafel .day > :not(h4) { margin-inline: 14px; }
.tafel .day h4 {
  margin: 0; padding: 13px 14px; background: var(--emaille); color: #fff;
  font-family: var(--schild); font-weight: 700; font-size: 1.05rem; letter-spacing: .08em; text-transform: uppercase;
}
.tafel .day .day-date { color: rgba(255,255,255,.72); font-variant-numeric: tabular-nums; letter-spacing: .02em; }
.tafel .day.today { background: rgba(176, 141, 79, .07); box-shadow: inset 0 0 0 2px var(--messing); }
.tafel .day.today h4 { background: linear-gradient(135deg, var(--messing), var(--messing-tief)); }
.tafel .day .today-pill { background: #fff; color: var(--messing-tief); border-radius: 3px; font-family: var(--schild); letter-spacing: .12em; }
.tafel .day .opentime { font-family: var(--schild); font-weight: 600; font-size: .95rem; color: var(--gedaempft); font-variant-numeric: tabular-nums; margin-top: 4px; }
.tafel .slot { border-radius: 4px; background: var(--emaille-hell); border: 1px solid rgba(15, 77, 90, .16); }
.tafel .slot b { font-family: var(--schild); font-weight: 700; font-size: 1.08rem; letter-spacing: .01em; }
.tafel .slot small { font-variant-numeric: tabular-nums; }
.tafel .slot.multi { background: var(--emaille); }
.tafel .slot.multi .multi-tag, .tafel .slot .slot-tag { border-radius: 3px; }
.tafel .slot.vertretung { border-color: rgba(15, 77, 90, .35); }

/* Leistungen als Schildreihe */
.tafel .leist-tabs { border-radius: 10px; padding: 5px; box-shadow: none; border-color: var(--linie); }
.tafel .leist-tabs button { border-radius: 7px; font-family: var(--schild); font-weight: 600; font-size: 1.08rem; letter-spacing: .02em; }
.tafel .leist-tabs button.active { background: var(--emaille); }
.tafel .leist {
  border-radius: 6px; border: 1px solid var(--linie);
  box-shadow: 0 1px 0 rgba(8, 40, 40, .05);
}
.tafel .leist:hover { transform: none; border-color: var(--messing); box-shadow: 0 1px 0 rgba(8, 40, 40, .05), 0 8px 16px -12px rgba(8, 40, 40, .45); }
.tafel .leist:hover .leist-more { background: var(--emaille); }
.tafel .leist .ic { border-radius: 6px; background: var(--emaille-hell); color: var(--emaille); border-color: rgba(15, 77, 90, .18); }
.tafel .leist-txt b { font-family: var(--schild); font-weight: 700; font-size: 1.12rem; letter-spacing: .01em; }
.tafel .leist-more { border-radius: 4px; color: var(--emaille); background: var(--emaille-hell); border-color: rgba(15, 77, 90, .18); }
.tafel .leist-note, .tafel .leist-grid ~ .section-sub a { color: var(--tinte-weich); }

/* Team, Zeiten, Fragen, Kontakt */
.tafel .team-group h3 { font-family: var(--schild); color: var(--emaille); letter-spacing: .14em; }
.tafel .team-group h3::after { background: rgba(176, 141, 79, .5); }
.tafel .hours-card, .tafel .contact-card { border-radius: 8px; border-color: var(--linie); }
.tafel .hours-row .d { font-family: var(--schild); font-size: 1.08rem; letter-spacing: .01em; }
.tafel .hours-row.now { background: rgba(176, 141, 79, .12); }
.tafel .hours-row .d .now-pill { background: var(--messing-tief); border-radius: 3px; }
.tafel .faq-item { border-radius: 6px; }
.tafel .faq-item > summary { font-family: var(--schild); font-weight: 700; font-size: 1.16rem; letter-spacing: .005em; }
.tafel .faq-item[open] { border-color: var(--messing); }
.tafel .contact-item .ic { border-radius: 6px; background: var(--emaille-hell); color: var(--emaille); }

/* Popup */
.tafel .modal-card { border-radius: 10px; }
.tafel .modal-body h3 { font-family: var(--schild); font-weight: 700; font-size: 1.7rem; letter-spacing: .005em; }
.tafel .modal-ic { border-radius: 8px; background: var(--emaille-hell); color: var(--emaille); }
.tafel .modal-preis { border-radius: 6px; }
.tafel .modal-termin { border-radius: 6px; background: var(--emaille-hell); color: var(--emaille); }

/* Fußzeile: Emailschild */
.tafel .footer { background: var(--emaille-tief); color: #d3e3e1; box-shadow: inset 0 3px 0 var(--messing); }
.tafel .footer h5 { font-family: var(--schild); color: var(--messing-hell); letter-spacing: .16em; font-size: .92rem; }
.tafel .footer a { color: #d3e3e1; }
.tafel .footer a:hover { color: #fff; }
.tafel .footer .brand-text span { color: #9fc0bd; }

/* ------------------------------------------------------------- Responsiv */
@media (max-width: 980px) {
  .tafel .tafel-hero .hero-grid { grid-template-columns: 1fr; }
  .tafel .hero-card.steckbrett { margin-top: 4px; }
  .tafel .day { border-right: none; border-bottom: 1px solid rgba(15, 77, 90, .14); }
  .tafel .day:last-child { border-bottom: none; }
}
@media (max-width: 560px) {
  .schild { padding: 30px 20px 24px; }
  .schild-kopf, .tafel .schild h1, .schild-fuss { padding-inline: 6px; }
  .schild-kopf { font-size: .84rem; letter-spacing: .12em; }
  .schraube:nth-child(1), .schraube:nth-child(3) { left: 12px; }
  .schraube:nth-child(2), .schraube:nth-child(4) { right: 12px; }
  .schraube:nth-child(1), .schraube:nth-child(2) { top: 12px; }
  .schraube:nth-child(3), .schraube:nth-child(4) { bottom: 12px; }
  .steck-rahmen { padding: 18px 16px 20px; border-width: 9px; }
}

@media (prefers-reduced-motion: reduce) {
  .schild-ekg path, .tafel .steckbrett .hc-body > * { animation: none; }
}
.tafel .section-head.center .section-title::after { margin-inline: auto; }
.tafel .tafel-hero .hero-grid { padding-block: clamp(28px, 4vw, 56px) clamp(40px, 5vw, 72px); }
.tafel .to-top { border-radius: 8px; background: var(--emaille); color: #fff; box-shadow: 0 1px 1px rgba(0,0,0,.2), 0 10px 18px -10px rgba(8, 63, 64, .7); }
.tafel .to-top:hover { background: var(--emaille-tief); }
.tafel .leist-tabs button.active { color: #fff; }
.tafel .steckbrett .today-docs { display: block; }
@media (max-width: 980px) {
  /* Heute-Tafel direkt unter dem Schild */
  .tafel .tafel-hero .hero-grid { display: flex; flex-direction: column; gap: 22px; }
  .tafel .tafel-hero .hero-copy { display: contents; }
  .tafel .tafel-hero .schild { order: 1; }
  .tafel .tafel-hero .steckbrett { order: 2; margin-top: 0; width: 100%; }
  .tafel .tafel-hero p.lead { order: 3; margin-top: 8px; }
  .tafel .tafel-hero .hero-points { order: 4; margin-top: 0; }
}
@media (max-width: 420px) {
  .tafel .brand-text span { letter-spacing: .03em; font-size: .72rem; }
}
.tafel .badge.impfung { background: #e9f1f7; color: #1f5a82; border-color: #c6dbeb; }
.schild-fuss .schild-bereich { display: block; color: #fff; margin-bottom: 4px; }

/* ------------------------------------------- Team: helle, warme Rahmen */
.tafel .member .avatar {
  background: linear-gradient(145deg, #ffffff, var(--emaille-hell) 55%, #f1e6cc);
  padding: 6px;
  box-shadow: 0 0 0 1px rgba(176, 141, 79, .45), 0 10px 20px -12px rgba(8, 40, 40, .35);
}
.tafel .member .avatar .mask { border: 3px solid #fff; }
.tafel .member .avatar.ph span { color: var(--emaille); }
.tafel .member b { font-family: var(--schild); font-weight: 700; font-size: 1.14rem; letter-spacing: .005em; }

/* ------------------------------ Handy: Schild und Tafel gleich groß */
@media (max-width: 980px) {
  .tafel .tafel-hero .schild,
  .tafel .tafel-hero .steck-rahmen {
    min-height: 262px; display: flex; flex-direction: column; justify-content: center;
  }
  .tafel .tafel-hero .schild,
  .tafel .tafel-hero .steck-rahmen { border-radius: 10px; }
}
@media (max-width: 560px) {
  .tafel .schild h1 { font-size: clamp(1.9rem, 8.4vw, 2.4rem); }
  .tafel .tafel-hero .schild, .tafel .tafel-hero .steck-rahmen { min-height: 282px; }
}

/* ------------------------------------------------ Startseite als Weiche */
.tafel-start { min-height: 100svh; }
.weiche { min-height: 100svh; display: flex; }
.weiche-inner {
  width: 100%; max-width: 1040px; margin: auto;
  padding: clamp(28px, 6vw, 72px) clamp(18px, 5vw, 40px);
}
.schild-haupt { text-align: center; padding-top: clamp(34px, 5vw, 50px); }
.schild-haupt .logo {
  width: 56px; height: 56px; margin: 0 auto 16px; border-radius: 14px; display: grid; place-items: center;
  background: var(--logo-grad); box-shadow: 0 0 0 2px rgba(255,255,255,.6);
}
.schild-haupt .logo svg { width: 30px; height: 30px; }
.tafel .schild-haupt h1 {
  font-family: var(--schild); font-weight: 700; color: #fff; letter-spacing: .01em;
  font-size: clamp(2.3rem, 6vw, 4rem); line-height: 1.02; text-wrap: balance;
}
.schild-haupt .schild-ekg { max-width: 560px; margin-inline: auto; }
.weiche-hinweis {
  text-align: center; margin: clamp(26px, 4vw, 38px) 0 clamp(18px, 3vw, 24px);
  font-family: var(--schild); font-weight: 600; font-size: 1.2rem; color: var(--tinte-weich); letter-spacing: .02em;
}
.weiche-schilder { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(16px, 3vw, 26px); }
.bereichsschild {
  display: flex; flex-direction: column; gap: 10px; color: #fff;
  padding: clamp(34px, 4vw, 44px) clamp(28px, 4vw, 40px) clamp(28px, 3.4vw, 36px);
  transition: transform .18s cubic-bezier(.16, 1, .3, 1), box-shadow .18s;
}
.bereichsschild h2 { font-family: var(--schild); font-weight: 700; font-size: clamp(1.9rem, 3.4vw, 2.5rem); line-height: 1.05; letter-spacing: .005em; }
.bs-zeile { font-family: var(--schild); font-weight: 700; font-size: .98rem; letter-spacing: .16em; text-transform: uppercase; color: var(--messing-hell); }
.bs-text { color: rgba(255,255,255,.88); line-height: 1.55; margin-top: 4px; max-width: 46ch; }
.bs-weiter {
  margin-top: auto; padding-top: 14px; display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--schild); font-weight: 700; font-size: 1.12rem; letter-spacing: .02em;
}
.bs-weiter svg { width: 20px; height: 20px; transition: transform .18s cubic-bezier(.16, 1, .3, 1); }
.bereichsschild:hover { transform: translateY(-2px); box-shadow: inset 0 0 0 8px var(--emaille), inset 0 0 0 9.5px rgba(255,255,255,.6), 0 2px 2px rgba(8, 40, 40, .2), 0 24px 40px -20px rgba(8, 40, 40, .6); }
.bereichsschild:hover .bs-weiter svg { transform: translateX(4px); }
.bereichsschild:active { transform: translateY(1px); }
.bereichsschild:focus-visible { box-shadow: inset 0 0 0 8px var(--emaille), inset 0 0 0 9.5px rgba(255,255,255,.6), 0 0 0 4px rgba(176, 141, 79, .7); }

/* Innere Medizin: weißes Email mit Petrol-Schrift */
.bereichsschild--hell {
  color: var(--emaille);
  background: linear-gradient(180deg, #ffffff, #f4f8f7 60%, #eaf1f0);
  box-shadow: inset 0 0 0 8px #fff, inset 0 0 0 9.5px rgba(15, 77, 90, .55), 0 1px 1px rgba(8, 40, 40, .2), 0 18px 34px -18px rgba(8, 40, 40, .45);
}
.bereichsschild--hell .bs-zeile { color: var(--messing-tief); }
.bereichsschild--hell .bs-text { color: var(--tinte-weich); }
.bereichsschild--hell:hover { box-shadow: inset 0 0 0 8px #fff, inset 0 0 0 9.5px rgba(15, 77, 90, .55), 0 2px 2px rgba(8, 40, 40, .2), 0 24px 40px -20px rgba(8, 40, 40, .5); }
.bereichsschild--hell:focus-visible { box-shadow: inset 0 0 0 8px #fff, inset 0 0 0 9.5px rgba(15, 77, 90, .55), 0 0 0 4px rgba(176, 141, 79, .7); }

.weiche-fuss {
  margin-top: clamp(28px, 4vw, 40px); display: flex; flex-direction: column; align-items: center; gap: 8px;
  color: var(--gedaempft); font-size: .92rem; text-align: center;
}
.weiche-fuss .row { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 18px; font-weight: 600; color: var(--tinte); }
.weiche-fuss .row a { font-family: var(--schild); font-weight: 700; font-size: 1.1rem; color: var(--emaille); font-variant-numeric: tabular-nums; }
.weiche-fuss a:hover { text-decoration: underline; text-decoration-color: var(--messing); }

@media (max-width: 760px) {
  .weiche-schilder { grid-template-columns: 1fr; }
  .bereichsschild { min-height: 322px; }
}

/* Wochentafel: mehrere Ärzte sanft hervorheben statt dunkler Fläche (25.09.) */
.tafel .slot { background: #fff; border: 1px solid rgba(15, 77, 90, .2); }
.tafel .slot.multi { background: #d4eaeb; color: var(--tinte); border-color: rgba(21, 151, 160, .45); box-shadow: none; }
.tafel .slot.multi small, .tafel .slot small { color: var(--tinte-weich); }
.tafel .slot.multi .multi-tag { background: #fff; color: var(--emaille); border: 1px solid rgba(21, 151, 160, .4); }
.tafel .legend i.single { background: #fff; border: 1px solid rgba(15, 77, 90, .35); }
.tafel .legend i.multi { background: #d4eaeb; border: 1px solid rgba(21, 151, 160, .55); }

/* Handy: Schildtexte mittig (25.09.) */
@media (max-width: 560px) {
  .tafel .tafel-hero .schild { text-align: center; }
  .tafel .tafel-hero .schild-fuss { letter-spacing: .12em; }
  .tafel .tafel-hero .schild-fuss .schild-bereich { text-wrap: balance; }
}

/* Startseite: Hauptschild in gebürstetem Messing, Bereiche untereinander */
.schild-haupt .schild-fuss span { display: block; }
.schild-haupt .schild-fuss span + span { margin-top: 4px; }
.schild--messing {
  color: #2a2213;
  background:
    repeating-linear-gradient(90deg, rgba(255,255,255,.05) 0 1px, rgba(0,0,0,.025) 1px 3px),
    linear-gradient(160deg, #e2cfa2 0%, #cdb27a 38%, #b8995f 70%, #a9894f 100%);
  box-shadow:
    inset 0 0 0 8px rgba(0,0,0,0),
    inset 0 0 0 9.5px rgba(58, 44, 18, .45),
    inset 0 1px 0 rgba(255,255,255,.55),
    0 1px 1px rgba(40, 30, 10, .25),
    0 18px 34px -18px rgba(40, 30, 10, .55);
}
.schild--messing .schraube {
  background: radial-gradient(circle at 35% 30%, #f1e5c6, #a88a55 60%, #6d5528);
}
.tafel .schild--messing h1 {
  color: #2a2213;
  text-shadow: 0 1px 0 rgba(255,255,255,.45), 0 -1px 0 rgba(58, 44, 18, .35);
}
.schild--messing .schild-ekg path { stroke: var(--emaille); }
.schild--messing .schild-fuss { color: var(--emaille); text-shadow: 0 1px 0 rgba(255,255,255,.35); }
.schild--messing .logo { box-shadow: 0 0 0 2px rgba(255,255,255,.55), 0 2px 4px rgba(40, 30, 10, .35); }
@media (max-width: 560px) {
  .tafel .tafel-hero .steck-rahmen { text-align: center; }
  .tafel .steckbrett .hc-status, .tafel .steckbrett .hc-row { justify-content: center; }
}

/* ---------- Varianten für das Hauptschild der Startseite (zur Auswahl) ---------- */
/* A: satiniertes Acrylglas auf Edelstahl-Abstandhaltern */
.schild--acryl {
  color: var(--emaille);
  background:
    linear-gradient(160deg, rgba(255,255,255,.95) 0%, rgba(236,246,246,.92) 55%, rgba(214,234,235,.95) 100%);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.9),
    inset 0 -2px 0 rgba(21, 151, 160, .18),
    0 1px 1px rgba(8, 40, 40, .12),
    0 22px 38px -22px rgba(8, 40, 40, .45);
}
.schild--acryl .schraube {
  width: 16px; height: 16px;
  background: radial-gradient(circle at 35% 30%, #ffffff, #c9d3d6 45%, #8d9a9f 100%);
  box-shadow: 0 1px 2px rgba(0,0,0,.3), inset 0 0 0 1px rgba(0,0,0,.08);
}
.schild--acryl .schraube::after { display: none; }
.tafel .schild--acryl h1 { color: var(--emaille); }
.schild--acryl .schild-ekg path { stroke: #1597a0; }
.schild--acryl .schild-fuss { color: var(--tinte-weich); }

/* B: gebürsteter Edelstahl */
.schild--stahl {
  color: var(--emaille-tief);
  background:
    repeating-linear-gradient(90deg, rgba(255,255,255,.06) 0 1px, rgba(0,0,0,.02) 1px 3px),
    linear-gradient(160deg, #f1f4f5 0%, #dde3e5 45%, #c8d0d3 100%);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.8),
    inset 0 0 0 9.5px rgba(15, 77, 90, 0),
    0 1px 1px rgba(8, 40, 40, .18),
    0 18px 34px -18px rgba(8, 40, 40, .45);
}
.schild--stahl .schraube { background: radial-gradient(circle at 35% 30%, #ffffff, #b7c1c5 55%, #7c898e); }
.schild--stahl .schraube::after { background: rgba(40, 50, 55, .55); }
.tafel .schild--stahl h1 { color: var(--emaille-tief); text-shadow: 0 1px 0 rgba(255,255,255,.7); }
.schild--stahl .schild-ekg path { stroke: #1597a0; }
.schild--stahl .schild-fuss { color: var(--emaille); }

/* C: Email in der Logofarbe Türkis */
.schild--tuerkis {
  background:
    linear-gradient(180deg, rgba(255,255,255,.1), rgba(255,255,255,0) 40%),
    #15838b;
  box-shadow:
    inset 0 0 0 8px #15838b,
    inset 0 0 0 9.5px rgba(255,255,255,.65),
    0 1px 1px rgba(8, 40, 40, .2),
    0 18px 34px -18px rgba(8, 40, 40, .55);
}
.schild--tuerkis .logo { background: #fff !important; box-shadow: 0 2px 4px rgba(0,0,0,.2); }
.schild--tuerkis .logo svg { stroke: #15838b; }
.schild--tuerkis .logo svg path { stroke: #15838b; }
.schild--tuerkis .schild-ekg path { stroke: #ffffff; opacity: .85; }
.schild--tuerkis .schild-fuss { color: #ffffff; opacity: .92; }

/* ---------- Startseite: Hauptschild Acrylglas (Özkans Wahl 25.09.) ---------- */
/* Bereichsschilder mit eindeutigem Knopf, damit klar ist, wo man tippt */
.bs-weiter {
  justify-content: space-between; width: 100%; margin-top: auto;
  padding: 15px 18px; border-radius: 8px; min-height: 54px;
  background: #fff; color: var(--emaille);
  font-size: 1.16rem;
  box-shadow: 0 1px 0 rgba(0,0,0,.12), 0 6px 14px -8px rgba(0,0,0,.45);
}
.bereichsschild .bs-text + .bs-weiter { margin-top: 18px; }
.bereichsschild--hell .bs-weiter { background: var(--emaille); color: #fff; }
.bs-weiter svg { width: 22px; height: 22px; }
.bereichsschild:hover .bs-weiter { background: #eef6f6; }
.bereichsschild--hell:hover .bs-weiter { background: var(--emaille-tief); }

@media (max-width: 760px) {
  /* Hauptschild als flache Kopfzeile, nicht wie ein weiteres Auswahlfeld */
  .schild-haupt {
    display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 14px;
    text-align: left; padding: 20px 22px;
  }
  .schild-haupt .logo { width: 48px; height: 48px; margin: 0; border-radius: 12px; }
  .schild-haupt .logo svg { width: 26px; height: 26px; }
  .tafel .schild-haupt h1 { font-size: 1.75rem; line-height: 1.05; }
  .schild-haupt .schild-ekg, .schild-haupt .schild-fuss { display: none; }
  .schild--acryl.schild-haupt .schraube { width: 11px; height: 11px; }
  .schild-haupt .schraube:nth-child(1), .schild-haupt .schraube:nth-child(2) { top: 8px; }
  .schild-haupt .schraube:nth-child(3), .schild-haupt .schraube:nth-child(4) { bottom: 8px; }
  .schild-haupt .schraube:nth-child(1), .schild-haupt .schraube:nth-child(3) { left: 8px; }
  .schild-haupt .schraube:nth-child(2), .schild-haupt .schraube:nth-child(4) { right: 8px; }

  .weiche-hinweis { font-size: 1.35rem; font-weight: 700; color: var(--tinte); margin: 26px 0 14px; }
  .bereichsschild { min-height: 0; }
}
/* Hauptschild ohne Bereichszeile (die Bereiche stehen darunter als Knöpfe) */
.schild-haupt .schild-fuss { display: none; }
.schild-haupt .schild-ekg { margin-bottom: 4px; }
.weiche-hinweis { font-size: 1.35rem; font-weight: 700; color: var(--tinte); }

/* ---------- Varianten der Heute-Tafel (zur Auswahl, 25.09.) ---------- */
/* 1: helle Steckbuchstaben-Tafel, weißer Rahmen, dunkle Lettern */
.steckbrett--hell .steck-rahmen {
  border-color: transparent;
  background:
    repeating-linear-gradient(180deg, rgba(15, 77, 90, .10) 0 1px, rgba(255,255,255,.35) 1px 2px, transparent 2px 10px) padding-box,
    linear-gradient(#e4ecec, #e4ecec) padding-box,
    linear-gradient(145deg, #ffffff, #eef2f2 60%, #dfe6e6) border-box;
  box-shadow: 0 0 0 1px rgba(15, 77, 90, .18), 0 1px 1px rgba(8, 40, 40, .12), 0 18px 34px -20px rgba(8, 40, 40, .45);
}
.tafel .steckbrett--hell .hc-body, .tafel .steckbrett--hell .hc-row { color: var(--tinte); }
.tafel .steckbrett--hell .today-docs b { color: var(--emaille); }
.steckbrett--hell .steck-kopf { color: var(--emaille); }
.tafel .steckbrett--hell .hc-status .led { border-color: rgba(15, 77, 90, .25); }

/* 2: Acrylglas-Anzeige wie das Schild der Startseite */
.steckbrett--acryl .steck-rahmen {
  border: none; padding: 28px 26px 30px; position: relative;
  background: linear-gradient(160deg, rgba(255,255,255,.96) 0%, rgba(236,246,246,.94) 55%, rgba(214,234,235,.96) 100%);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.9), inset 0 -2px 0 rgba(21, 151, 160, .18), 0 1px 1px rgba(8, 40, 40, .12), 0 22px 38px -22px rgba(8, 40, 40, .45);
}
.steckbrett--acryl .steck-rahmen::before, .steckbrett--acryl .steck-rahmen::after {
  content: ""; position: absolute; top: 12px; width: 14px; height: 14px; border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #ffffff, #c9d3d6 45%, #8d9a9f 100%);
  box-shadow: 0 1px 2px rgba(0,0,0,.3);
}
.steckbrett--acryl .steck-rahmen::before { left: 12px; }
.steckbrett--acryl .steck-rahmen::after { right: 12px; }
.tafel .steckbrett--acryl .hc-body { text-transform: none; letter-spacing: .01em; color: var(--tinte); }
.tafel .steckbrett--acryl .hc-row { color: var(--tinte-weich); font-size: 1.12rem; }
.tafel .steckbrett--acryl .hc-status { color: var(--emaille); }
.tafel .steckbrett--acryl .today-docs b { color: var(--emaille); }
.steckbrett--acryl .steck-kopf { color: #1597a0; }

/* 3: Steckbuchstaben-Tafel mit hellem Eschenholz-Rahmen */
.steckbrett--holz .steck-rahmen {
  background:
    repeating-linear-gradient(180deg, rgba(0,0,0,.22) 0 1px, rgba(255,255,255,.03) 1px 2px, transparent 2px 10px) padding-box,
    linear-gradient(#1c4550, #1c4550) padding-box,
    repeating-linear-gradient(100deg, rgba(120, 95, 60, .10) 0 2px, transparent 2px 7px) border-box,
    linear-gradient(135deg, #efe4d0, #e2d2b4 50%, #d6c29e) border-box;
  box-shadow: 0 1px 1px rgba(40, 30, 10, .18), 0 18px 34px -20px rgba(8, 40, 40, .5);
}
.steckbrett--holz .steck-kopf { color: #f1e6cf; }

/* ======================================================== Innere Medizin */
/* Weißes Email-Schild wie auf der Startseite */
.schild--weiss {
  color: var(--emaille);
  background: linear-gradient(180deg, #ffffff, #f4f8f8 60%, #eaf1f1);
  box-shadow:
    inset 0 0 0 8px #fff,
    inset 0 0 0 9.5px rgba(15, 77, 90, .55),
    0 1px 1px rgba(8, 40, 40, .2),
    0 18px 34px -18px rgba(8, 40, 40, .45);
}
.tafel .schild--weiss h1 { color: var(--emaille); }
.schild--weiss .schild-ekg path { stroke: #1597a0; }
.schild--weiss .schild-fuss { color: var(--emaille); }
.schild--weiss .schild-fuss .schild-bereich { color: var(--tinte-weich); }

.tafel.wa .wa-btn { background: var(--emaille) !important; }
.tafel.wa .wa-btn:hover { background: var(--emaille-tief) !important; }
.tafel .wa-book-note { color: var(--tinte-weich); }
.tafel .wa-book-note a { color: var(--emaille); text-decoration: underline; text-decoration-color: var(--messing); }
.tafel .steckbrett .hc-label { display: block; color: rgba(243, 240, 232, .72); font-size: .9rem; letter-spacing: .08em; }

/* Leistungskarten mit Bild als Schilder */
.tafel .wa-feature { border-radius: 8px; border-color: var(--linie); box-shadow: 0 1px 0 rgba(8, 40, 40, .05); }
.tafel .wa-feature:hover { transform: none; border-color: var(--messing); box-shadow: 0 1px 0 rgba(8, 40, 40, .05), 0 10px 20px -14px rgba(8, 40, 40, .5); }
.tafel .wa-feature:focus-visible { outline: none; box-shadow: var(--ring); }
.tafel .wa-feature-vis { border-radius: 6px; }
.tafel .wa-feature h3 { font-family: var(--schild); font-weight: 700; font-size: 1.4rem; letter-spacing: .005em; }
.tafel .wa-feature-sub { color: #1597a0; font-family: var(--schild); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; font-size: .86rem; }
.tafel .wa-feature-txt { color: var(--tinte-weich); }
.tafel .wa-feature-preis { color: var(--emaille); font-family: var(--schild); font-size: 1.2rem; font-variant-numeric: tabular-nums; }
.tafel .wa-more-title { font-family: var(--schild); font-size: 1.3rem; }
.tafel .wa-tile { border-radius: 6px; }
.tafel .wa-tile-main b { font-family: var(--schild); font-weight: 700; font-size: 1.08rem; }
.tafel .wa-tile-preis { font-variant-numeric: tabular-nums; }

/* Preisliste */
.tafel .wa-col-title { font-family: var(--schild); font-weight: 700; font-size: 1.4rem; }
.tafel .wa-paket { border-radius: 8px; border-color: var(--linie); }
.tafel .wa-paket h4 { font-family: var(--schild); font-weight: 700; font-size: 1.3rem; }
.tafel .wa-paket-badge { border-radius: 3px; background: var(--emaille-hell); color: var(--emaille); }
.tafel .wa-paket-preis { color: var(--emaille); font-family: var(--schild); font-size: 1.35rem; font-variant-numeric: tabular-nums; }
.tafel .wa-paket li::before { background: #1597a0; }
.tafel .wa-price-list { border-radius: 8px; border-color: var(--linie); }
.tafel .wa-price-row b, .tafel .wa-price-row strong { font-family: var(--schild); font-weight: 700; font-size: 1.08rem; }
.tafel .wa-price-row { font-variant-numeric: tabular-nums; }

/* Termin */
.tafel .wa-termin-card { border-radius: 8px; border-color: var(--linie); }
.tafel .wa-termin-card h3 { font-family: var(--schild); font-weight: 700; font-size: 1.35rem; }
.tafel .wa-termin-row { border-radius: 6px; font-variant-numeric: tabular-nums; }

/* ====================================================== Leistungs-Unterseiten */
.tafel .unter-hero { background: var(--grund); }
.tafel .unter-hero::before { display: none; }
.tafel .unter-hero .hero-grid { grid-template-columns: 1fr; padding-block: clamp(28px, 4vw, 52px) clamp(36px, 5vw, 64px); }
.tafel .unter-hero .hero-copy { max-width: 760px; }
.tafel .unter-hero .schild h1 { font-size: clamp(2.2rem, 5vw, 3.3rem); }
.tafel .unter-hero p.lead { color: var(--tinte); font-size: clamp(1.08rem, 1.5vw, 1.22rem); margin-top: 24px; max-width: 60ch; }
.tafel .unter-hero .hero-actions { margin-top: 22px; }
@media (max-width: 560px) {
  .tafel .unter-hero .schild { text-align: center; }
  .tafel .unter-hero .schild-fuss { letter-spacing: .12em; text-wrap: balance; }
  .tafel .unter-hero .hero-actions .btn { width: 100%; }
}
.tafel .sub-preis { border-radius: 6px; font-family: var(--schild); font-size: 1.1rem; font-variant-numeric: tabular-nums; border-color: rgba(15, 77, 90, .25); }
.tafel .sub-prose a { color: var(--emaille); text-decoration: underline; text-decoration-color: var(--messing); }
.tafel .contact-card h3 { font-family: var(--schild); font-weight: 700; font-size: 1.3rem; }
.tafel .contact-card a { color: var(--emaille); }

/* ====================================================== Rechtliche Hinweise */
.tafel .legal h2 { font-family: var(--schild); font-weight: 700; letter-spacing: .005em; }
.tafel .legal h3 { font-family: var(--schild); font-weight: 700; font-size: 1.2rem; color: var(--emaille); }
.tafel .legal .meta dt { font-family: var(--schild); font-weight: 700; font-size: 1.04rem; }
.tafel .legal a { color: var(--emaille); }
.tafel .legal ul li::before { background: #1597a0; }
