/* Einwilligungsbanner für einwilligungspflichtige Dienste (Google Analytics).
   Eigene Klassennamen, damit das Modul unabhängig vom übrigen CSS der
   Seite funktioniert. Keine externen Ressourcen. */

.cc-banner {
    position: fixed;
    left: 50%;
    bottom: 1.25rem;
    transform: translateX(-50%);
    z-index: 9999;

    width: calc(100% - 2rem);
    max-width: 46rem;
    padding: 1.25rem 1.5rem;

    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    box-shadow: 0 4px 6px rgba(15, 23, 42, .04), 0 12px 32px rgba(15, 23, 42, .12);

    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-size: .9375rem;
    line-height: 1.6;
    color: #1a1a24;
}

.cc-banner[hidden] { display: none; }

.cc-title {
    margin: 0 0 .375rem;
    font-size: 1rem;
    font-weight: 600;
}

.cc-text {
    margin: 0 0 1rem;
    color: #475569;
}

.cc-text a {
    color: #0D9488;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.cc-text a:hover { color: #0f766e; }

.cc-actions {
    display: flex;
    gap: .625rem;
    flex-wrap: wrap;
}

/* Beide Schaltflächen sind bewusst gleich groß und gleich auffällig -
   eine hervorgehobene Zustimmung wäre keine freiwillige Entscheidung. */
.cc-btn {
    flex: 1 1 12rem;
    padding: .625rem 1.25rem;
    font: inherit;
    font-weight: 500;
    border-radius: 10px;
    border: 1px solid transparent;
    cursor: pointer;
    text-align: center;
    transition: background-color .15s ease, border-color .15s ease;
}

.cc-btn-accept {
    background: #0D9488;
    color: #ffffff;
}
.cc-btn-accept:hover { background: #0f766e; }

.cc-btn-decline {
    background: #ffffff;
    color: #1a1a24;
    border-color: #cbd5e1;
}
.cc-btn-decline:hover { background: #f1f5f9; }

.cc-btn:focus-visible {
    outline: 2px solid #0D9488;
    outline-offset: 2px;
}

/* Schaltfläche zum nachträglichen Ändern der Entscheidung */
.cc-settings {
    display: inline-flex;
    align-items: center;
    padding: .5rem 1rem;
    font: inherit;
    font-size: .875rem;
    font-weight: 500;
    color: #1a1a24;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    cursor: pointer;
}
.cc-settings:hover { background: #f1f5f9; }
.cc-settings:focus-visible {
    outline: 2px solid #0D9488;
    outline-offset: 2px;
}

.cc-status {
    margin-left: .75rem;
    font-size: .875rem;
    color: #475569;
}

@media (max-width: 480px) {
    .cc-banner {
        bottom: .75rem;
        padding: 1rem 1.125rem;
        font-size: .875rem;
    }
    .cc-btn { flex: 1 1 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .cc-btn { transition: none; }
}
