/*!
 * Zusatzstyles fuer Karten-Platzhalter, 404-Seite und kleine Korrekturen.
 * Bewusst ohne externe Abhaengigkeiten.
 */
.entry_sidecontent .map.map-placeholder {
    margin: 0;
}

.map-card {
    background: #f4f8fa;
    border: 1px solid #cfdfe5;
    border-radius: .375rem;
    padding: 1.15rem 1.15rem 1rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .06);
    color: #212529;
}

.map-card h2,
.map-card h3 {
    margin-top: 0;
    color: #0076a6;
    font-size: 1.25rem;
}

.map-card p {
    margin-bottom: .75rem;
}

.map-card .map-hint {
    margin: .9rem 0 0;
    color: #5b6b72;
    font-size: .82rem;
    line-height: 1.35;
}

.map-card .btn {
    white-space: normal;
}

.error-page {
    max-width: 760px;
    margin: 3.5rem auto 4rem;
    padding: 0 1rem;
}

.error-page .error-logo {
    display: inline-block;
    margin-bottom: 1.5rem;
}

.error-page h1 {
    color: #0076a6;
}

.error-page .error-links {
    margin-top: 1.5rem;
}

.error-page .error-links a {
    margin: 0 .4rem .6rem 0;
}

.error-page .error-list {
    margin-top: 2rem;
    padding-left: 1.1rem;
}

@media print {
    .map-card .btn,
    .error-page .error-links {
        display: none;
    }
}
/* --- Bewertungen (Google) ------------------------------------------- */
#bewertungen-container {
    margin: 2.5rem auto 1rem;
}

.bewertungen-kopf {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: .35rem 1rem;
}

.bewertungen h2 {
    margin: 0;
    color: #0076a6;
    font-size: 1.5rem;
}

.bewertungen-schnitt {
    margin: 0;
    font-weight: 700;
}

.bewertungen-sterne {
    color: #e8a300;
    letter-spacing: .1em;
}

.bewertungen-liste {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1rem;
    margin: 1.25rem 0 0;
    padding: 0;
    list-style: none;
}

.bewertung {
    background: #f4f8fa;
    border: 1px solid #cfdfe5;
    border-radius: .375rem;
    padding: 1rem 1.15rem .9rem;
}

.bewertung p {
    margin: 0;
}

.bewertung-text {
    margin: .4rem 0 .6rem !important;
}

.bewertung-meta {
    color: #5b6b72;
    font-size: .85rem;
}

.bewertungen-aktion {
    margin-top: 1.1rem;
}

.bewertungen-hinweis {
    margin: .8rem 0 0;
    color: #5b6b72;
    font-size: .82rem;
    line-height: 1.35;
}

@media print {
    .bewertungen-aktion,
    .bewertungen-hinweis {
        display: none;
    }
}
/* >>> barrierefrei >>> */
/* Mobil-Logo: eigene Kennung statt doppelter id="logo". */
#logo-mobil span { background: #fff; display: inline-block; }
#logo-mobil img { width: 470px; }

/* Tabellen-Kopfzellen sehen aus wie normale Datenzellen. */
.home-privatordination th,
.home-kassenordination th,
.ordinationszeiten th {
    font-weight: 400;
    text-align: left;
}
.home-privatordination th,
.home-kassenordination th {
    padding: 0;
    line-height: 1.2;
}
.home-privatordination th:nth-child(1) { width: 250px; }
.home-kassenordination th:nth-child(1) { width: 30px; }

/* Primaere Schaltflaechen: etwas dunkleres Blau fuer 4,5:1 Kontrast.
   Hover-, Fokus- und Aktivzustand bleiben unveraendert (Bootstrap). */
.btn-primary:not(:hover):not(:focus):not(:active) {
    background-color: #0070eb;
    border-color: #0070eb;
}
/* <<< barrierefrei <<< */