/* =========================================================================
   cookie.css — Facharztzentrum Schlachtensee
   Tarteaucitron DSGVO-Overrides: Liquid-Glass-Design + alle Farbmodi.
   ========================================================================= */

/* ── GRUNDSTRUKTUR ──────────────────────────────────────────────────────── */
#tarteaucitronBack {
    background: rgba(0,0,0,.35) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
}

#tarteaucitronAlertBig {
    background: #ffffff !important;
    border-top: 1px solid rgba(255,255,255,.7) !important;
    border-radius: 24px 24px 0 0 !important;
    box-shadow: 0 -8px 40px rgba(31,38,135,.12) !important;
    color: #000000 !important;
    font-family: var(--font-family-active) !important;
    font-size: calc(1rem * var(--font-scale)) !important; line-height: 1.6 !important;
    padding: 28px 36px !important;
    left: 50% !important; transform: translateX(-50%) !important;
    max-width: 900px !important; width: calc(100% - 40px) !important;
    bottom: 0 !important;
}
#tarteaucitronAlertBig strong,
#tarteaucitronAlertBig #tarteaucitronAlertBigTitle {
    color: #000000 !important; font-weight: 600 !important; font-size: calc(1.25rem * var(--font-scale)) !important;
}

#tarteaucitron { font-family: var(--font-family-active) !important; }

/* backdrop-filter erzeugt einen neuen Stacking Context.
   #tarteaucitronClosePanel (position:absolute) braucht z-index,
   sonst wird er vom gläsernen Modal-Container überdeckt.               */
#tarteaucitronClosePanel { z-index: 10 !important; }

#tarteaucitronAlertSmall,
#tarteaucitron #tarteaucitronScrollbarContainer,
#tarteaucitron .tarteaucitronBorderBox {
    background: rgba(255,255,255,.99) !important;
    border: 1px solid rgba(255,255,255,.65) !important;
    border-radius: 20px !important;
    box-shadow: 0 16px 48px rgba(31,38,135,.15) !important;
    color: #000000 !important;
}
.tarteaucitronMainLine {
    background: rgba(255,255,255,.97) !important;
    border-bottom: 1px solid rgba(255,255,255,.5) !important;
    border-radius: 20px 20px 0 0 !important;
    color: #000000 !important; font-family: var(--font-family-active) !important;
}
.tarteaucitronLine {
    background: rgba(255,255,255,.97) !important;
    border: 1px solid rgba(255,255,255,.5) !important;
    border-radius: 12px !important; margin: 6px 0 !important;
    font-family: var(--font-family-active) !important; color: #000000 !important;
}
.tarteaucitronLine:hover { background: rgba(255,255,255,1) !important; }
.tarteaucitronName, .tarteaucitronTitle, .tarteaucitronH2 {
    color: #000000 !important; font-family: var(--font-family-active) !important; font-weight: 500 !important;
    font-size: calc(1.2rem * var(--font-scale)) !important;
}
.tarteaucitronH1, .tarteaucitronH3 {
    color: #000000 !important; font-family: var(--font-family-active) !important; font-weight: 500 !important;
    font-size: calc(1.5rem * var(--font-scale)) !important;
}
.tarteaucitronDetails { color: #4a4a4f !important; font-size: calc(.88rem * var(--font-scale)) !important; }

/* ── ICON ────────────────────────────────────────────────────────────────── */
#tarteaucitronIcon {
    background: rgba(255,255,255,.97) !important;
    backdrop-filter: blur(20px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
    border: 1px solid rgba(255,255,255,.65) !important;
    border-radius: 50px !important;
    box-shadow: 0 4px 20px rgba(31,38,135,.15) !important;
    bottom: 20px !important; right: 20px !important;
}
#tarteaucitronIcon #tarteaucitronManager {
    color: #1d1d1f !important; font-family: var(--font-family-active) !important;
    font-weight: 600 !important; font-size: calc(.85rem * var(--font-scale)) !important;
}
#tarteaucitronIcon img { display: none !important; }
#tarteaucitronIcon svg.tac-logo-svg {
    width: 44px; height: 44px; display: block; flex-shrink: 0;
}
#tarteaucitronIcon svg.tac-logo-svg path { fill: #c10a27 !important; }

/* ── BUTTONS – BASIS ─────────────────────────────────────────────────────── */
.tarteaucitronAllow,
.tarteaucitronDeny,
#tarteaucitronAllAllowed,
#tarteaucitronAllDenied,
#tarteaucitronClosePanel,
.tarteaucitronCTAButton,
#tarteaucitronAlertBig #tarteaucitronPersonalize,
#tarteaucitronAlertBig #tarteaucitronAllAllowed,
#tarteaucitronAlertBig #tarteaucitronAllDenied,
#tarteaucitronPrivacyUrl,
#tarteaucitronPrivacyUrlDialog,
#tarteaucitronCloseAlert {
    font-family: var(--font-family-active) !important;
    font-weight: 700 !important; font-size: calc(.92rem * var(--font-scale)) !important;
    border-radius: 980px !important; padding: 10px 22px !important;
    min-height: 44px !important; min-width: 44px !important; cursor: pointer !important;
    transition: all .2s cubic-bezier(.25,.1,.25,1) !important;
    border: 2px solid transparent !important;
    text-transform: none !important; letter-spacing: 0 !important;
}

/* Primär-Buttons (Zustimmen) */
#tarteaucitronAllAllowed,
#tarteaucitronAlertBig #tarteaucitronAllAllowed,
.tarteaucitronAllow,
#tarteaucitronAlertBig #tarteaucitronPersonalize,
#tarteaucitronPersonalize2 {
    background: #b20020 !important; color: #fff !important;
    box-shadow: 0 4px 14px rgba(178,0,32,.35) !important;
    border-color: transparent !important;
}
#tarteaucitronAllAllowed:hover,
#tarteaucitronAlertBig #tarteaucitronAllAllowed:hover,
.tarteaucitronAllow:hover,
#tarteaucitronAlertBig #tarteaucitronPersonalize:hover,
#tarteaucitronPersonalize2:hover {
    opacity: .88 !important; transform: scale(1.03) !important;
    box-shadow: 0 6px 20px rgba(178,0,32,.45) !important;
}

/* Sekundär-Buttons (Ablehnen) */
#tarteaucitronAllDenied,
#tarteaucitronAllDenied2,
#tarteaucitronAlertBig #tarteaucitronAllDenied,
#tarteaucitronClosePanel,
.tarteaucitronDeny,
#tarteaucitronPrivacyUrl,
#tarteaucitronPrivacyUrlDialog,
#tarteaucitronCloseAlert {
    background: #ffffff !important;
    color: #b20020 !important; border: 2px solid #b20020 !important;
}
#tarteaucitronAllDenied:hover,
#tarteaucitronAllDenied2:hover,
#tarteaucitronAlertBig #tarteaucitronAllDenied:hover,
#tarteaucitronClosePanel:hover,
.tarteaucitronDeny:hover,
#tarteaucitronPrivacyUrl:hover,
#tarteaucitronPrivacyUrlDialog:hover,
#tarteaucitronCloseAlert:hover {
    background: #b20020 !important; color: #fff !important; transform: scale(1.03) !important;
}

/* Activate-Placeholder (z.B. Google Maps) */
.tac_activate, .tac_activate-googlemap {
    background: rgba(255,255,255,.97) !important;
    backdrop-filter: blur(20px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(20px) saturate(160%) !important;
    border: 1px solid rgba(255,255,255,.65) !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 32px rgba(31,38,135,.12) !important;
    display: flex !important; flex-direction: column !important;
    align-items: center !important; justify-content: center !important;
    gap: 14px !important; min-height: 300px !important;
    padding: 28px 24px !important; text-align: center !important;
    color: #1d1d1f !important; font-family: var(--font-family-active) !important;
}
.tac_activate .tac_float,
.tac_activate-googlemap .tac_float {
    font-size: calc(1rem * var(--font-scale)) !important; color: #4a4a4f !important; margin-bottom: 6px !important;
}
.tac_activate .tac_float strong,
.tac_activate-googlemap .tac_float strong { color: #000000 !important; }
.tac_activate .tarteaucitronAllow,
.tac_activate-googlemap .tarteaucitronAllow {
    background: #b20020 !important; color: #fff !important;
    border-radius: 980px !important; font-weight: 700 !important;
    padding: 10px 24px !important; min-height: 44px !important;
    box-shadow: 0 4px 14px rgba(178,0,32,.3) !important;
}
.tac_activate .tarteaucitronAllow:hover,
.tac_activate-googlemap .tarteaucitronAllow:hover {
    opacity: .88 !important; transform: scale(1.03) !important;
}

/* Focus-Styles */
.tarteaucitronAllow:focus-visible,
.tarteaucitronDeny:focus-visible,
#tarteaucitronAllAllowed:focus-visible,
#tarteaucitronAllDenied:focus-visible,
#tarteaucitronClosePanel:focus-visible {
    outline: 3px solid #b20020 !important; outline-offset: 3px !important;
}

#tarteaucitronPrivacyUrl,
#tarteaucitronPrivacyUrlDialog {
    display: inline-flex !important; align-items: center !important;
    text-decoration: none !important;
}
#tarteaucitronCloseAlert {
    display: inline-flex !important; align-items: center !important;
}

#tarteaucitronInfo {
    background: transparent !important;
    color: #000000 !important;
    font-size: calc(1rem * var(--font-scale)) !important;
    font-family: var(--font-family-active) !important;
    border-color: rgba(0,0,0,.15) !important;
}

/* Spezifität (0,2,0,0) schlägt tarteaucitron.min.css (0,1,0,0) mit color:#fff */
#tarteaucitronAlertBig #tarteaucitronDisclaimerAlert { color: #1d1d1f !important; }

div#tarteaucitronAlertBig::before { content: none !important; }
#tarteaucitronAlertBig .tac-banner-svg {
    width: 40px; height: 40px; display: block; margin: 0 auto 14px;
}
#tarteaucitronAlertBig .tac-banner-svg path { fill: #c10a27 !important; }

/* ── DARK MODE ───────────────────────────────────────────────────────────── */
[data-theme="dark"] #tarteaucitronBack { background: rgba(0,0,0,.6) !important; }
[data-theme="dark"] #tarteaucitronAlertBig {
    background: rgba(20,20,22,.85) !important;
    border-top-color: rgba(255,255,255,.12) !important;
    box-shadow: 0 -8px 40px rgba(0,0,0,.5) !important;
    color: #f5f5f7 !important;
}
[data-theme="dark"] #tarteaucitronAlertBig strong,
[data-theme="dark"] #tarteaucitronAlertBig #tarteaucitronAlertBigTitle { color: #f5f5f7 !important; }
[data-theme="dark"] #tarteaucitronAlertSmall,
[data-theme="dark"] #tarteaucitron .tarteaucitronBorderBox,
[data-theme="dark"] #tarteaucitron #tarteaucitronScrollbarContainer {
    background: rgba(18,18,20,.88) !important;
    border-color: rgba(255,255,255,.12) !important; color: #f5f5f7 !important;
}
[data-theme="dark"] .tarteaucitronMainLine {
    background: rgba(30,30,32,.6) !important;
    border-bottom-color: rgba(255,255,255,.1) !important; color: #f5f5f7 !important;
}
[data-theme="dark"] .tarteaucitronLine {
    background: rgba(30,30,32,.5) !important;
    border-color: rgba(255,255,255,.1) !important; color: #f5f5f7 !important;
}
[data-theme="dark"] .tarteaucitronLine:hover { background: rgba(40,40,42,.8) !important; }
[data-theme="dark"] .tarteaucitronName,
[data-theme="dark"] .tarteaucitronTitle,
[data-theme="dark"] .tarteaucitronH1,
[data-theme="dark"] .tarteaucitronH2,
[data-theme="dark"] .tarteaucitronH3 { color: #f5f5f7 !important; }
[data-theme="dark"] .tarteaucitronDetails { color: #a1a1a6 !important; }
[data-theme="dark"] #tarteaucitronIcon {
    background: rgba(20,20,22,.85) !important; border-color: rgba(255,255,255,.15) !important;
}
[data-theme="dark"] #tarteaucitronIcon #tarteaucitronManager { color: #f5f5f7 !important; }
[data-theme="dark"] #tarteaucitronIcon svg.tac-logo-svg path { fill: #ffffff !important; }
[data-theme="dark"] #tarteaucitronDisclaimerAlert { color: #f5f5f7 !important; }
[data-theme="dark"] #tarteaucitronAlertBig .tac-banner-svg path { fill: #ffffff !important; }
[data-theme="dark"] #tarteaucitronInfo {
    background: transparent !important; color: #f5f5f7 !important;
    border-color: rgba(255,255,255,.15) !important;
}
[data-theme="dark"] #tarteaucitronAllDenied,
[data-theme="dark"] #tarteaucitronAllDenied2,
[data-theme="dark"] #tarteaucitronAlertBig #tarteaucitronAllDenied,
[data-theme="dark"] #tarteaucitronClosePanel,
[data-theme="dark"] .tarteaucitronDeny,
[data-theme="dark"] #tarteaucitronPrivacyUrl,
[data-theme="dark"] #tarteaucitronPrivacyUrlDialog,
[data-theme="dark"] #tarteaucitronCloseAlert {
    background: rgba(255,255,255,.08) !important;
    color: #ff8fa3 !important; border-color: #ff8fa3 !important;
}
[data-theme="dark"] #tarteaucitronAllDenied:hover,
[data-theme="dark"] #tarteaucitronAllDenied2:hover,
[data-theme="dark"] #tarteaucitronAlertBig #tarteaucitronAllDenied:hover,
[data-theme="dark"] #tarteaucitronClosePanel:hover,
[data-theme="dark"] .tarteaucitronDeny:hover,
[data-theme="dark"] #tarteaucitronPrivacyUrl:hover,
[data-theme="dark"] #tarteaucitronPrivacyUrlDialog:hover,
[data-theme="dark"] #tarteaucitronCloseAlert:hover {
    background: #b20020 !important; color: #fff !important; border-color: #b20020 !important;
}
[data-theme="dark"] .tac_activate,
[data-theme="dark"] .tac_activate-googlemap {
    background: rgba(20,20,22,.75) !important;
    border-color: rgba(255,255,255,.12) !important; color: #f5f5f7 !important;
}
[data-theme="dark"] .tac_activate .tac_float,
[data-theme="dark"] .tac_activate-googlemap .tac_float { color: #a1a1a6 !important; }
[data-theme="dark"] .tac_activate .tac_float strong,
[data-theme="dark"] .tac_activate-googlemap .tac_float strong { color: #f5f5f7 !important; }

/* ── KONTRAST-MODUS ──────────────────────────────────────────────────────── */
[data-theme="contrast"] #tarteaucitronBack { background: rgba(0,0,0,.92) !important; backdrop-filter: none !important; }
[data-theme="contrast"] #tarteaucitronAlertBig {
    background: #000 !important; backdrop-filter: none !important;
    border-top: 2px solid #FFFF00 !important; border-radius: 0 !important;
    box-shadow: none !important; color: #fff !important;
}
[data-theme="contrast"] #tarteaucitronAlertBig strong,
[data-theme="contrast"] #tarteaucitronAlertBig #tarteaucitronAlertBigTitle { color: #FFFF00 !important; }
[data-theme="contrast"] #tarteaucitronAlertSmall,
[data-theme="contrast"] #tarteaucitron .tarteaucitronBorderBox,
[data-theme="contrast"] #tarteaucitron #tarteaucitronScrollbarContainer {
    background: #000 !important; backdrop-filter: none !important;
    border: 2px solid #FFFF00 !important; border-radius: 0 !important; color: #fff !important;
}
[data-theme="contrast"] .tarteaucitronMainLine {
    background: #111 !important; border-bottom: 2px solid #FFFF00 !important;
    border-radius: 0 !important; color: #fff !important;
}
[data-theme="contrast"] .tarteaucitronLine {
    background: #000 !important; border: 1px solid #555 !important;
    border-radius: 0 !important; color: #fff !important;
}
[data-theme="contrast"] .tarteaucitronLine:hover { background: #222 !important; }
[data-theme="contrast"] .tarteaucitronName,
[data-theme="contrast"] .tarteaucitronTitle,
[data-theme="contrast"] .tarteaucitronH1,
[data-theme="contrast"] .tarteaucitronH2,
[data-theme="contrast"] .tarteaucitronH3 { color: #fff !important; }
[data-theme="contrast"] .tarteaucitronDetails { color: #FFFF00 !important; }
[data-theme="contrast"] #tarteaucitronIcon {
    background: #000 !important; backdrop-filter: none !important;
    border: 2px solid #FFFF00 !important; border-radius: 8px !important;
}
[data-theme="contrast"] #tarteaucitronIcon #tarteaucitronManager { color: #FFFF00 !important; }
[data-theme="contrast"] #tarteaucitronIcon svg.tac-logo-svg path { fill: #FFFF00 !important; }
[data-theme="contrast"] #tarteaucitronDisclaimerAlert { color: #fff !important; }
[data-theme="contrast"] #tarteaucitronAlertBig .tac-banner-svg path { fill: #FFFF00 !important; }
[data-theme="contrast"] #tarteaucitronInfo {
    background: transparent !important; color: #fff !important;
    border-color: rgba(255,255,255,.4) !important;
}
[data-theme="contrast"] #tarteaucitronAllAllowed,
[data-theme="contrast"] #tarteaucitronAlertBig #tarteaucitronAllAllowed,
[data-theme="contrast"] .tarteaucitronAllow,
[data-theme="contrast"] #tarteaucitronAlertBig #tarteaucitronPersonalize,
[data-theme="contrast"] #tarteaucitronPersonalize2 {
    background: #FFFF00 !important; color: #000 !important;
    box-shadow: none !important; border: 2px solid #fff !important; border-radius: 4px !important;
}
[data-theme="contrast"] #tarteaucitronAllAllowed:hover,
[data-theme="contrast"] .tarteaucitronAllow:hover {
    background: #fff !important; color: #000 !important;
    transform: none !important; text-decoration: underline !important;
}
[data-theme="contrast"] #tarteaucitronAllDenied,
[data-theme="contrast"] #tarteaucitronAllDenied2,
[data-theme="contrast"] #tarteaucitronAlertBig #tarteaucitronAllDenied,
[data-theme="contrast"] #tarteaucitronClosePanel,
[data-theme="contrast"] .tarteaucitronDeny,
[data-theme="contrast"] #tarteaucitronPrivacyUrl,
[data-theme="contrast"] #tarteaucitronPrivacyUrlDialog,
[data-theme="contrast"] #tarteaucitronCloseAlert {
    background: #000 !important; color: #fff !important;
    border: 2px solid #fff !important; border-radius: 4px !important; backdrop-filter: none !important;
}
[data-theme="contrast"] #tarteaucitronAllDenied:hover,
[data-theme="contrast"] #tarteaucitronAllDenied2:hover,
[data-theme="contrast"] .tarteaucitronDeny:hover,
[data-theme="contrast"] #tarteaucitronPrivacyUrl:hover,
[data-theme="contrast"] #tarteaucitronPrivacyUrlDialog:hover,
[data-theme="contrast"] #tarteaucitronCloseAlert:hover {
    background: #333 !important; transform: none !important; text-decoration: underline !important;
}
[data-theme="contrast"] .tac_activate,
[data-theme="contrast"] .tac_activate-googlemap {
    background: #000 !important; backdrop-filter: none !important;
    border: 2px solid #FFFF00 !important; border-radius: 0 !important; color: #fff !important;
}
[data-theme="contrast"] .tac_activate .tac_float,
[data-theme="contrast"] .tac_activate-googlemap .tac_float { color: #FFFF00 !important; }
[data-theme="contrast"] .tac_activate .tac_float strong,
[data-theme="contrast"] .tac_activate-googlemap .tac_float strong { color: #FFFF00 !important; }
[data-theme="contrast"] .tac_activate .tarteaucitronAllow,
[data-theme="contrast"] .tac_activate-googlemap .tarteaucitronAllow {
    background: #FFFF00 !important; color: #000 !important; border-radius: 4px !important;
}
[data-theme="contrast"] .tarteaucitronAllow:focus-visible,
[data-theme="contrast"] .tarteaucitronDeny:focus-visible,
[data-theme="contrast"] #tarteaucitronAllAllowed:focus-visible,
[data-theme="contrast"] #tarteaucitronAllDenied:focus-visible,
[data-theme="contrast"] #tarteaucitronAllDenied2:focus-visible,
[data-theme="contrast"] #tarteaucitronPersonalize2:focus-visible {
    outline: 4px solid #FFFF00 !important; outline-offset: 3px !important;
}

/* ── TOUCH-TARGETS – dynamisch generierte Dienst-Buttons ────────────────── */
[id$="Denied"],
[id$="Allowed"] {
    min-height: 44px !important;
    min-width: 44px !important;
}

/* ── RESPONSIVE ──────────────────────────────────────────────────────────── */
@media (max-width: 700px) {
    #tarteaucitronAlertBig {
        padding: 20px 18px !important; border-radius: 16px 16px 0 0 !important;
        max-width: 100% !important; width: 100% !important;
    }
    .tarteaucitronAllow, .tarteaucitronDeny,
    #tarteaucitronAllAllowed, #tarteaucitronAllDenied,
    #tarteaucitronAllDenied2, #tarteaucitronPersonalize2,
    #tarteaucitronAlertBig #tarteaucitronPersonalize,
    #tarteaucitronAlertBig #tarteaucitronAllAllowed,
    #tarteaucitronAlertBig #tarteaucitronAllDenied,
    #tarteaucitronCloseAlert, #tarteaucitronPrivacyUrl {
        width: 100% !important; margin: 4px 0 !important;
    }
    /* Einstellungsfenster: tarteaucitron setzt 860px Festbreite – auf Mobile überschreiben */
    #tarteaucitron {
        width: 100% !important;
        left: 0 !important;
        margin: 0 !important;
    }
    #tarteaucitronClosePanel {
        width: 100% !important;
        margin: 4px 0 !important;
    }
    /* "Erlaube alle / Verbiete alle" Buttons: von Table-Layout auf vertikales Flex */
    .tarteaucitronMainLine {
        display: flex !important;
        flex-direction: column !important;
    }
}
