/* --- Basis-Stile --- */
.mileha-cookie-banner { position: fixed; left: 0; right: 0; z-index: 99999; font-size: 16px; line-height: 1.6; }
.mileha-cookie-banner:not(.position-modal) .mileha-cookie-popup { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 25px; width: 100%; }
.mileha-cookie-banner.position-bottom { bottom: 0; box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1); }
.mileha-cookie-banner.position-top { top: 0; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); }
.mileha-cookie-banner.position-modal { top: 0; bottom: 0; display: flex; align-items: center; justify-content: center; background-color: rgba(0, 0, 0, 0.6); padding: 20px; }
.mileha-cookie-banner.position-modal .mileha-cookie-popup { border-radius: 5px; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3); max-width: 550px; width: 100%; padding: 30px; text-align: center; }
.mileha-cookie-banner.position-modal .mileha-cookie-main-view, .mileha-cookie-banner.position-modal .mileha-cookie-details-view { flex-direction: column; }
.mileha-cookie-banner.position-modal .mileha-cookie-actions { justify-content: center; margin-top: 20px; }

/* --- Content & Actions Layout --- */
.mileha-cookie-content { flex-grow: 1; }
.mileha-cookie-headline { margin: 0 0 10px 0; font-size: 1.2em; font-weight: bold; }
.mileha-cookie-text p { margin: 0; }
.mileha-cookie-text a { text-decoration: underline; }
.mileha-cookie-actions { display: flex; align-items: center; gap: 15px; flex-shrink: 0; }
.mileha-cookie-btn { border: 1px solid transparent; padding: 10px 20px; border-radius: 5px; cursor: pointer; font-size: 1em; text-decoration: none; white-space: nowrap; }
.mileha-cookie-btn-secondary { background: transparent; }
.mileha-cookie-btn-reject { border: none; }

/* NEU: Stile für den Header der Detailansicht */
.mileha-cookie-details-header {
    margin-bottom: 20px;
    border-bottom: 1px solid #eee;
    padding-bottom: 15px;
}
.mileha-cookie-details-header h2 {
    font-size: 1.3em;
    margin-top: 0;
}
.mileha-cookie-details-header p {
    margin-bottom: 0;
    font-size: 0.9em;
    color: #555;
}
.mileha-cookie-category {
    text-align: left;
    margin-bottom: 10px;
}

/* --- Legal Content Modal Styles --- */
.mileha-legal-modal { position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 20px; }
.mileha-legal-modal-overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.7); }
.mileha-legal-modal-content { position: relative; z-index: 1; background: #fff; border-radius: 5px; max-width: 800px; width: 100%; max-height: 80vh; display: flex; flex-direction: column; box-shadow: 0 5px 20px rgba(0,0,0,0.4); }
.mileha-legal-modal-header { padding: 15px 20px; border-bottom: 1px solid #eee; }
.mileha-legal-modal-header h2 { margin: 0; font-size: 1.4em; }
.mileha-legal-modal-body { padding: 20px; overflow-y: auto; }
.mileha-legal-modal-body .loading-spinner { text-align: center; padding: 40px; font-size: 1.2em; }
.mileha-legal-modal-footer { padding: 15px 20px; border-top: 1px solid #eee; text-align: right; }
.mileha-legal-modal-close { font-size: 1em; padding: 8px 16px; cursor: pointer; }

/* --- Responsive Layout for Mobile --- */
@media (max-width: 768px) { .mileha-cookie-banner:not(.position-modal) .mileha-cookie-popup { flex-direction: column; text-align: center; } .mileha-cookie-banner:not(.position-modal) .mileha-cookie-actions { flex-direction: column; width: 100%; margin-top: 20px; } .mileha-cookie-banner:not(.position-modal) .mileha-cookie-btn { width: 100%; text-align: center; } }

/* --- Accessibility Focus Style --- */
.mileha-cookie-banner :is(a, button, input[type="checkbox"]):focus-visible, .mileha-legal-modal :is(button):focus-visible { outline: none; box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #F59E0B; border-radius: 5px; }
.mileha-cookie-banner input[type="checkbox"]:focus-visible { box-shadow: none; outline: 2px solid #F59E0B; outline-offset: 2px; }