/* ============================================================================
   FFC Medical Network — Single Listing Profile (Page 02 / 02-light / 02-clinic)
   ============================================================================
   Implements both dark (is-dark) and light (is-light) theme variants.
   All classes prefixed .ffc-md-single- to prevent theme conflicts.
   ============================================================================ */

/* ─── ROOT + THEME VARIABLES ─────────────────────────────────────────────── */
.ffc-md-single,
.ffc-md-single *,
.ffc-md-single *::before,
.ffc-md-single *::after {
    box-sizing: border-box !important;
}

.ffc-md-single {
    /* Defaults */
    --ffc-accent: #ED356D;
    --ffc-font-display: 'Bebas Neue', Impact, sans-serif;
    --ffc-font-body: 'Space Grotesk', sans-serif;
    --ffc-font-mono: 'Courier Prime', monospace;

    /* Color tokens — overridden by theme classes below */
    --bg-primary: #000000;
    --bg-secondary: #171717;
    --bg-tertiary: #1c1c1c;
    --text-primary: #ffffff;
    --text-secondary: #d4d4d4;
    --text-muted: #888888;
    --text-faint: #555555;
    --border: #404040;
    --border-strong: #ffffff;

    font-family: var(--ffc-font-body, 'Space Grotesk', sans-serif);
    line-height: 1.5;
    background: var(--bg-primary);
    color: var(--text-primary);
    max-width: 900px;
    margin: 0 auto;
    width: 100%;
    overflow-x: hidden;
}

/* ─── DARK THEME ─────────────────────────────────────────────────────────── */
.ffc-md-single.is-dark {
    --bg-primary: #000000;
    --bg-secondary: #171717;
    --bg-tertiary: #1c1c1c;
    --text-primary: #ffffff;
    --text-secondary: #d4d4d4;
    --text-muted: #888888;
    --text-faint: #525252;
    --border: #404040;
    --border-strong: #ffffff;
}

/* ─── LIGHT THEME ────────────────────────────────────────────────────────── */
.ffc-md-single.is-light {
    --bg-primary: #ffffff;
    --bg-secondary: #f5f5f5;
    --bg-tertiary: #fafafa;
    --text-primary: #000000;
    --text-secondary: #404040;
    --text-muted: #6b6b6b;
    --text-faint: #999999;
    --border: #d4d4d4;
    --border-strong: #000000;
}

.ffc-md-single a {
    color: inherit;
    text-decoration: underline;
}

/* ─── PROFILE HEADER ─────────────────────────────────────────────────────── */
.ffc-md-single .ffc-md-single-header {
    padding: 36px 20px 28px !important;
    border-bottom: 4px solid var(--border-strong) !important;
    background: var(--bg-primary);
    color: var(--text-primary);
}

.ffc-md-single .ffc-md-single-breadcrumb {
    font-family: var(--ffc-font-mono, 'Courier Prime', monospace) !important;
    font-size: 10px !important;
    letter-spacing: 0.15em;
    color: var(--text-muted);
    margin: 0 0 16px 0 !important;
    word-break: break-word;
    text-transform: uppercase;
}

.ffc-md-single .ffc-md-single-breadcrumb span {
    color: var(--text-primary);
}

.ffc-md-single .ffc-md-single-approved-row {
    display: flex !important;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin: 0 0 16px 0;
}

.ffc-md-single .ffc-md-single-seal {
    background: var(--ffc-accent);
    color: #000;
    font-family: var(--ffc-font-display, 'Bebas Neue', Impact, sans-serif);
    font-size: 32px;
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    line-height: 1;
}

.ffc-md-single .ffc-md-single-since {
    font-family: var(--ffc-font-mono, 'Courier Prime', monospace) !important;
    font-size: 10px !important;
    letter-spacing: 0.13em;
    color: var(--text-muted);
    text-transform: uppercase;
}

.ffc-md-single .ffc-md-single-title {
    font-family: var(--ffc-font-display, 'Bebas Neue', Impact, sans-serif) !important;
    font-size: clamp(30px, 8vw, 56px) !important;
    overflow-wrap: break-word;
    line-height: 1 !important;
    letter-spacing: 0.02em;
    margin: 0 0 8px 0 !important;
    color: var(--text-primary);
    font-weight: 400 !important;
}

.ffc-md-single .ffc-md-single-practice-name {
    font-family: var(--ffc-font-body, 'Space Grotesk', sans-serif) !important;
    font-size: 16px !important;
    color: var(--text-secondary);
    margin: 0 0 16px 0 !important;
}

.ffc-md-single .ffc-md-single-specialty-row {
    display: flex !important;
    gap: 6px !important;
    flex-wrap: wrap;
    margin: 0 0 18px 0 !important;
}

.ffc-md-single .ffc-md-single-specialty-tag {
    background: var(--bg-secondary) !important;
    border: 1px solid var(--border) !important;
    color: var(--text-secondary) !important;
    padding: 6px 12px !important;
    font-family: var(--ffc-font-mono, 'Courier Prime', monospace) !important;
    font-size: 11px !important;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

@media (min-width: 600px) {
    .ffc-md-single .ffc-md-single-header {
        padding: 48px 28px 36px !important;
    }
    .ffc-md-single .ffc-md-single-breadcrumb {
        font-size: 11px !important;
        letter-spacing: 0.2em;
    }
}

/* ─── PROFILE INFO GRID ──────────────────────────────────────────────────── */
.ffc-md-single .ffc-md-single-info {
    padding: 28px 20px !important;
    background: var(--bg-secondary) !important;
    border-bottom: 1px solid var(--border);
}

.ffc-md-single .ffc-md-single-info-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 20px !important;
}

@media (min-width: 600px) {
    .ffc-md-single .ffc-md-single-info {
        padding: 32px 28px !important;
    }
    .ffc-md-single .ffc-md-single-info-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 24px !important;
    }
}

.ffc-md-single .ffc-md-single-info-label {
    font-family: var(--ffc-font-mono, 'Courier Prime', monospace) !important;
    font-size: 13px !important;
    letter-spacing: 0.18em;
    color: var(--text-muted);
    margin: 0 0 6px 0 !important;
    text-transform: uppercase;
}

.ffc-md-single .ffc-md-single-info-value {
    font-family: var(--ffc-font-body, 'Space Grotesk', sans-serif) !important;
    font-size: 14px !important;
    color: var(--text-primary);
    line-height: 1.6;
}

.ffc-md-single .ffc-md-single-info-value a {
    color: var(--text-primary);
    text-decoration: underline;
}

/* ─── MAP BLOCK ──────────────────────────────────────────────────────────── */
.ffc-md-single .ffc-md-single-map-block {
    margin: 0;
    border-bottom: 1px solid var(--border);
    background: var(--bg-secondary);
}

.ffc-md-single .ffc-md-single-map-header {
    padding: 24px 20px 12px !important;
}

.ffc-md-single .ffc-md-single-map-label {
    font-family: var(--ffc-font-mono, 'Courier Prime', monospace) !important;
    font-size: 13px !important;
    letter-spacing: 0.18em;
    color: var(--text-muted);
    margin: 0 0 6px 0 !important;
    text-transform: uppercase;
}

.ffc-md-single .ffc-md-single-map-title {
    font-family: var(--ffc-font-display, 'Bebas Neue', Impact, sans-serif) !important;
    font-size: 22px !important;
    letter-spacing: 0.04em;
    color: var(--text-primary) !important;
    line-height: 1 !important;
    margin: 0 !important;
    font-weight: 400 !important;
}

.ffc-md-single .ffc-md-single-map-placeholder {
    margin: 0 20px 20px !important;
    background: var(--bg-tertiary) !important;
    border: 1px solid var(--border) !important;
    height: 220px;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer;
    position: relative;
    text-align: center;
    padding: 24px !important;
    transition: border-color 0.15s;
}

.ffc-md-single .ffc-md-single-map-placeholder:hover {
    border-color: var(--border-strong) !important;
}

.ffc-md-single .ffc-md-single-map-icon {
    font-family: var(--ffc-font-display, 'Bebas Neue', Impact, sans-serif) !important;
    font-size: 48px !important;
    color: var(--text-faint);
    line-height: 1 !important;
    margin: 0 0 14px 0 !important;
}

.ffc-md-single .ffc-md-single-map-placeholder:hover .ffc-md-single-map-icon {
    color: var(--text-primary);
}

.ffc-md-single .ffc-md-single-map-cta {
    font-family: var(--ffc-font-display, 'Bebas Neue', Impact, sans-serif) !important;
    font-size: 22px !important;
    letter-spacing: 0.03em;
    color: var(--text-primary) !important;
    margin: 0 0 8px 0 !important;
    line-height: 1.1 !important;
    font-weight: 400 !important;
}

.ffc-md-single .ffc-md-single-map-placeholder p {
    font-size: 12px !important;
    color: var(--text-muted);
    line-height: 1.5 !important;
    max-width: 360px;
    margin: 0 !important;
}

.ffc-md-single .ffc-md-single-map-privacy {
    font-family: var(--ffc-font-mono, 'Courier Prime', monospace) !important;
    font-size: 10px !important;
    letter-spacing: 0.13em;
    color: var(--text-faint);
    margin-top: 12px !important;
    text-transform: uppercase;
}

.ffc-md-single .ffc-md-single-map-loaded {
    margin: 0 20px 20px !important;
    height: 280px;
    border: 1px solid var(--border);
}

.ffc-md-single .ffc-md-single-map-loaded iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

.ffc-md-single .ffc-md-single-map-actions {
    padding: 0 20px 20px !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
}

@media (max-width: 480px) {
    .ffc-md-single .ffc-md-single-map-actions {
        grid-template-columns: 1fr !important;
    }
}

.ffc-md-single .ffc-md-single-map-actions a {
    display: block !important;
    text-align: center;
    padding: 12px 14px !important;
    background: transparent !important;
    border: 1px solid var(--border-strong) !important;
    color: var(--text-primary) !important;
    text-decoration: none !important;
    font-family: var(--ffc-font-mono, 'Courier Prime', monospace) !important;
    font-size: 11px !important;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    transition: background 0.15s, color 0.15s;
}

.ffc-md-single .ffc-md-single-map-actions a:hover {
    background: var(--text-primary);
    color: var(--bg-primary);
}

/* ─── STEP HEADER (Recommendations) ──────────────────────────────────────── */
.ffc-md-single .ffc-md-single-step {
    padding: 48px 20px 16px !important;
    border-bottom: 1px solid var(--border);
}

.ffc-md-single .ffc-md-single-step-num {
    font-family: var(--ffc-font-mono, 'Courier Prime', monospace) !important;
    font-size: 13px !important;
    letter-spacing: 0.2em;
    color: var(--text-muted);
    text-transform: uppercase;
    margin: 0 0 12px 0 !important;
}

.ffc-md-single .ffc-md-single-step-heading {
    font-family: var(--ffc-font-display, 'Bebas Neue', Impact, sans-serif) !important;
    font-size: clamp(28px, 6vw, 48px) !important;
    letter-spacing: 0.02em;
    line-height: 0.95 !important;
    color: var(--text-primary) !important;
    margin: 0 !important;
    font-weight: 400 !important;
}

@media (min-width: 600px) {
    .ffc-md-single .ffc-md-single-step {
        padding: 48px 28px 16px !important;
    }
}

/* ─── RECOMMENDATIONS ────────────────────────────────────────────────────── */
.ffc-md-single .ffc-md-single-recs-hint {
    padding: 20px !important;
    font-size: 13px;
    color: var(--text-secondary);
    line-height: 1.6;
}

.ffc-md-single .ffc-md-single-recs-hint strong {
    color: var(--text-primary);
}

.ffc-md-single .ffc-md-single-recs-hint em {
    color: var(--text-muted);
    font-style: italic;
}

.ffc-md-single .ffc-md-single-rec-list {
    padding: 0 20px 24px !important;
}

@media (min-width: 600px) {
    .ffc-md-single .ffc-md-single-rec-list {
        padding: 0 28px 28px !important;
    }
}

.ffc-md-single .ffc-md-single-rec-card {
    background: var(--bg-secondary) !important;
    border: 1px solid var(--border) !important;
    border-left: 4px solid var(--border-strong) !important;
    padding: 22px 24px !important;
    margin-bottom: 16px !important;
    color: var(--text-primary);
}

.ffc-md-single .ffc-md-single-rec-meta {
    display: flex !important;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    margin: 0 0 16px 0 !important;
    padding: 0 0 14px 0 !important;
    border-bottom: 1px solid var(--border);
}

.ffc-md-single .ffc-md-single-rec-grade {
    font-family: var(--ffc-font-display, 'Bebas Neue', Impact, sans-serif) !important;
    font-size: 18px !important;
    letter-spacing: 0.04em;
    line-height: 1 !important;
    background: var(--text-primary) !important;
    color: var(--bg-primary) !important;
    padding: 7px 11px 5px !important;
    display: inline-block;
    white-space: nowrap;
    font-weight: 400 !important;
}

.ffc-md-single .ffc-md-single-rec-grade.is-solid {
    background: transparent !important;
    border: 2px solid var(--text-primary) !important;
    color: var(--text-primary) !important;
    padding: 5px 9px 3px !important;
}

.ffc-md-single .ffc-md-single-rec-date {
    font-family: var(--ffc-font-mono, 'Courier Prime', monospace) !important;
    font-size: 11px !important;
    letter-spacing: 0.18em;
    color: var(--text-muted);
    text-transform: uppercase;
    margin-left: auto !important;
}

.ffc-md-single .ffc-md-single-rec-text {
    font-family: var(--ffc-font-body, 'Space Grotesk', sans-serif) !important;
    font-size: 14px !important;
    color: var(--text-secondary);
    line-height: 1.7 !important;
    font-style: italic;
    margin: 0 0 14px 0 !important;
}

.ffc-md-single .ffc-md-single-rec-author {
    font-family: var(--ffc-font-body, 'Space Grotesk', sans-serif) !important;
    font-size: 12px !important;
    color: var(--text-muted);
    margin: 0 !important;
}

@media (min-width: 600px) {
    .ffc-md-single .ffc-md-single-rec-card {
        padding: 26px 28px !important;
    }
    .ffc-md-single .ffc-md-single-rec-grade {
        font-size: 26px !important;
        padding: 9px 16px 7px !important;
    }
    .ffc-md-single .ffc-md-single-rec-grade.is-solid {
        padding: 7px 14px 5px !important;
    }
    .ffc-md-single .ffc-md-single-rec-text {
        font-size: 15px !important;
    }
}

/* ─── CTA BLOCK ──────────────────────────────────────────────────────────── */
.ffc-md-single .ffc-md-single-cta {
    margin: 40px 20px !important;
    padding: 36px 22px !important;
    background: var(--bg-secondary) !important;
    border: 2px solid var(--border-strong) !important;
    text-align: center;
}

.ffc-md-single .ffc-md-single-cta-label {
    font-family: var(--ffc-font-mono, 'Courier Prime', monospace) !important;
    font-size: 11px !important;
    letter-spacing: 0.18em;
    color: var(--text-muted);
    margin: 0 0 10px 0 !important;
    text-transform: uppercase;
}

.ffc-md-single .ffc-md-single-cta-title {
    font-family: var(--ffc-font-display, 'Bebas Neue', Impact, sans-serif) !important;
    font-size: 30px !important;
    letter-spacing: 0.03em;
    margin: 0 0 14px 0 !important;
    line-height: 1.05 !important;
    color: var(--text-primary) !important;
    font-weight: 400 !important;
}

.ffc-md-single .ffc-md-single-cta-lead {
    font-size: 14px !important;
    color: var(--text-secondary);
    max-width: 480px;
    margin: 0 auto 22px !important;
    line-height: 1.6 !important;
}

.ffc-md-single .ffc-md-single-cta-btn {
    display: inline-block !important;
    background: var(--ffc-accent) !important;
    color: #000 !important;
    text-decoration: none !important;
    padding: 16px 30px !important;
    font-family: var(--ffc-font-display, 'Bebas Neue', Impact, sans-serif) !important;
    font-size: 19px !important;
    letter-spacing: 0.08em;
    margin: 0 4px 8px !important;
    cursor: pointer;
    min-height: 56px;
    border: none;
    transition: transform 0.15s;
}

.ffc-md-single .ffc-md-single-cta-btn:hover {
    transform: translateY(-1px);
}

@media (min-width: 600px) {
    .ffc-md-single .ffc-md-single-cta {
        margin: 50px 28px !important;
        padding: 40px 28px !important;
    }
    .ffc-md-single .ffc-md-single-cta-title {
        font-size: 38px !important;
    }
    .ffc-md-single .ffc-md-single-cta-btn {
        font-size: 20px !important;
        padding: 16px 36px !important;
    }
}

/* ─── FOOTER ─────────────────────────────────────────────────────────────── */
.ffc-md-single .ffc-md-single-footer {
    padding: 28px 20px !important;
    text-align: center;
    font-family: var(--ffc-font-mono, 'Courier Prime', monospace) !important;
    font-size: 11px !important;
    letter-spacing: 0.13em;
    color: var(--text-muted);
    line-height: 1.8 !important;
    border-top: 1px solid var(--border);
    text-transform: uppercase;
}

.ffc-md-single .ffc-md-single-footer a {
    color: var(--text-primary);
    text-decoration: none;
}

.ffc-md-single .ffc-md-single-footer a:hover {
    text-decoration: underline;
}

/* ─── ALIGNMENT SUPPORT ──────────────────────────────────────────────────── */
.alignwide .ffc-md-single,
.alignfull .ffc-md-single {
    max-width: none;
}

/* ===== Beat Blocksy theme fonts on single listing ===== */
.ffc-md-single h1, .ffc-md-single h2, .ffc-md-single h3, .ffc-md-single h4,
.ffc-md-single [class*="-title"], .ffc-md-single [class*="-name"] {
  font-family: var(--ffc-font-display, 'Bebas Neue', Impact, sans-serif) !important;
}
.ffc-md-single [class*="-marker"], .ffc-md-single [class*="-label"],
.ffc-md-single [class*="-specialty"], .ffc-md-single .ffc-md-breadcrumb {
  font-family: var(--ffc-font-mono, 'Courier Prime', monospace) !important;
}
.ffc-md-single, .ffc-md-single p, .ffc-md-single [class*="-info"],
.ffc-md-single [class*="-practice"] {
  font-family: var(--ffc-font-body, 'Space Grotesk', sans-serif) !important;
}

/* ─── Structured opening hours table ─── */
.ffc-md-single-hours { width: 100%; border-collapse: collapse; }
.ffc-md-single-hours th { text-align: left; font-weight: 600; padding: 6px 14px 6px 0; vertical-align: top; white-space: nowrap; width: 1%; }
.ffc-md-single-hours td { padding: 6px 0; }
.ffc-md-single-hours-row + .ffc-md-single-hours-row th,
.ffc-md-single-hours-row + .ffc-md-single-hours-row td { border-top: 1px solid rgba(0,0,0,0.08); }
.ffc-md-single-hours-slot { display: flex; gap: 8px; flex-wrap: wrap; align-items: baseline; }
.ffc-md-single-hours-slot + .ffc-md-single-hours-slot { margin-top: 2px; }
.ffc-md-single-hours-time { font-variant-numeric: tabular-nums; }
.ffc-md-single-hours-note { color: #888; font-size: 0.92em; }
.ffc-md-single-hours-closed { color: #888; }

/* ── Praxis login-gate (single listing) ────────────────────────────────────
   Logged-out visitors get a locked profile: blurred placeholder + login CTA.
   No name/address/contact is rendered server-side. */
.ffc-md-single.is-locked .ffc-md-single-lead{font-family:var(--ffc-font-body,sans-serif);font-size:15px;line-height:1.55;max-width:640px;margin:14px 0 0}
.ffc-md-single-locked-marker{font-family:var(--ffc-font-mono,monospace);font-size:13px;letter-spacing:.1em;color:var(--ffc-accent,#ED356D);margin-bottom:10px}
.ffc-md-single-locked-preview{position:relative;margin:32px 0;padding:28px;border:1px solid #999}
.ffc-md-single-locked-preview .ffc-md-blur{filter:blur(6px);-webkit-filter:blur(6px);user-select:none;pointer-events:none}
.ffc-md-single-locked-line{font-family:var(--ffc-font-body,sans-serif);font-size:18px;margin:8px 0}
.ffc-md-single-locked-overlay{position:absolute;inset:0;display:block}

/* ── Praxis opt-out link (on listing pages) ────────────────────────────────── */
.ffc-md-optout-link{margin-top:22px;padding-top:16px;border-top:0.5px solid var(--ffc-border,#ddd);text-align:center}
.ffc-md-optout-link a{font-family:var(--ffc-font-mono,monospace);font-size:12px;letter-spacing:.04em;color:var(--ffc-muted,#9a9a9a);text-decoration:underline;text-underline-offset:3px}
.ffc-md-optout-link a:hover{color:var(--ffc-accent,#ED356D)}

/* ── Praxis opt-out form (Art. 21 DSGVO) — block-configurable + responsive ──── */
.ffc-md-optout{--ffc-optout-accent:#ED356D;--ffc-optout-font-body:'Space Grotesk',sans-serif;--ffc-optout-font-mono:'Courier Prime',monospace;--ffc-optout-maxw:640px}
.ffc-md-optout-form{max-width:var(--ffc-optout-maxw);margin:0 auto;display:flex;flex-direction:column;gap:18px}
.ffc-md-optout-intro{max-width:var(--ffc-optout-maxw);margin:0 auto 4px;font-family:var(--ffc-optout-font-body);font-size:15px;line-height:1.65}
.ffc-md-optout-form label{display:flex;flex-direction:column;gap:8px;font-family:var(--ffc-optout-font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.ffc-md-optout-form input,.ffc-md-optout-form select,.ffc-md-optout-form textarea{width:100%;box-sizing:border-box;font-family:var(--ffc-optout-font-body);font-size:16px;line-height:1.4;padding:14px 16px;border:1px solid;border-radius:0;text-transform:none;letter-spacing:0}
.ffc-md-optout-form textarea{min-height:120px;resize:vertical}
.ffc-md-optout-form input:focus,.ffc-md-optout-form select:focus,.ffc-md-optout-form textarea:focus{outline:none;border-color:var(--ffc-optout-accent);box-shadow:0 0 0 1px var(--ffc-optout-accent)}
.ffc-md-optout-form button[type="submit"]{align-self:flex-start;font-family:var(--ffc-optout-font-mono);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:15px 26px;border-radius:0;background:var(--ffc-optout-accent);color:#fff;border:2px solid var(--ffc-optout-accent);cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.ffc-md-optout-form button[type="submit"]:hover{background:#000;border-color:#fff;color:#fff}
.ffc-md-optout-error{color:#ff6b6b;font-size:14px;font-weight:500}
.ffc-md-optout-done{max-width:var(--ffc-optout-maxw);margin:0 auto;font-size:15px;line-height:1.6;padding:18px 20px;border:1px solid var(--ffc-optout-accent)}

/* Dark theme */
.ffc-md-optout.is-dark .ffc-md-optout-intro{color:#b3b3b3}
.ffc-md-optout.is-dark .ffc-md-optout-form label{color:#9a9a9a}
.ffc-md-optout.is-dark .ffc-md-optout-form input,.ffc-md-optout.is-dark .ffc-md-optout-form select,.ffc-md-optout.is-dark .ffc-md-optout-form textarea{background:#111 !important;color:#fff !important;border-color:#3a3a3a !important}
.ffc-md-optout.is-dark .ffc-md-optout-form ::placeholder{color:#777 !important}
.ffc-md-optout.is-dark .ffc-md-optout-done{color:#fff}

/* Light theme */
.ffc-md-optout.is-light .ffc-md-optout-intro{color:#333}
.ffc-md-optout.is-light .ffc-md-optout-form label{color:#666}
.ffc-md-optout.is-light .ffc-md-optout-form input,.ffc-md-optout.is-light .ffc-md-optout-form select,.ffc-md-optout.is-light .ffc-md-optout-form textarea{background:#fff !important;color:#000 !important;border-color:#999 !important}
.ffc-md-optout.is-light .ffc-md-optout-done{color:#111}

/* Mobile */
@media (max-width:600px){
  .ffc-md-optout-form{gap:14px}
  .ffc-md-optout-form input,.ffc-md-optout-form select,.ffc-md-optout-form textarea{padding:12px 14px}
  .ffc-md-optout-form button[type="submit"]{width:100%;text-align:center;padding:16px}
  .ffc-md-optout-intro{font-size:14px}
}

/* ── Kliniken single page (Notfall-Box + Fachabteilungen) ──────────────────── */
.ffc-md-single-notfall{border:1.5px solid var(--ffc-accent,#ED356D);padding:20px 22px;margin:0 0 28px}
.ffc-md-single-notfall-label{font-family:var(--ffc-font-mono,'Courier Prime',monospace);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ffc-accent,#ED356D)}
.ffc-md-single-notfall-title{font-family:var(--ffc-font-display,'Bebas Neue',sans-serif);font-size:24px;font-weight:700;margin:6px 0 10px;line-height:1.05;text-transform:uppercase}
.ffc-md-single-notfall-text{font-size:14px;line-height:1.6;margin:0 0 10px}
.ffc-md-single-notfall-112{font-family:var(--ffc-font-display,'Bebas Neue',sans-serif);font-size:42px;font-weight:700;line-height:1;margin:4px 0 12px}
.ffc-md-single-notfall-note{font-size:13px;line-height:1.6;color:var(--ffc-muted,#666);margin:0}
.ffc-md-single .ffc-md-single-depts{margin:32px 0;padding:0 20px !important}
@media (min-width:600px){.ffc-md-single .ffc-md-single-depts{padding:0 28px !important}}
.ffc-md-single .ffc-md-single-depts-title{color:#000}
.ffc-md-single-depts-intro{font-size:14px;line-height:1.6;color:var(--ffc-muted,#666);margin:-8px 0 20px}
.ffc-md-single-depts-label{font-family:var(--ffc-font-mono,'Courier Prime',monospace);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ffc-muted,#999)}
.ffc-md-single-depts-title{font-family:var(--ffc-font-display,'Bebas Neue',sans-serif);font-size:26px;font-weight:700;margin:6px 0 18px;letter-spacing:.01em;text-transform:uppercase}
.ffc-md-single-depts-list{display:flex;flex-direction:column;gap:14px}
.ffc-md-single-dept{background:#f2f2f2;border-left:4px solid #111;padding:16px 20px}
.ffc-md-single-dept-kat{font-family:var(--ffc-font-mono,'Courier Prime',monospace);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#999}
.ffc-md-single-dept-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:5px 0 6px}
.ffc-md-single-dept-title{font-family:var(--ffc-font-display,'Bebas Neue',sans-serif);font-size:19px;font-weight:600;letter-spacing:.01em;line-height:1.1}
.ffc-md-single-dept-badge{font-family:var(--ffc-font-mono,'Courier Prime',monospace);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 9px;white-space:nowrap}
.ffc-md-single-dept-badge.is-247{background:#111;color:#fff}
.ffc-md-single-dept-badge.is-termin{border:1px solid #111;color:#111}
.ffc-md-single-dept-desc{font-size:13.5px;line-height:1.55;color:#555;margin:0}
