/* ==========================
   Skip-Link
   ========================== */

.amacc-skip-link {
    position: absolute;
    left: -9999px;
    top: 0;
    z-index: 1000000;
    padding: 0.5rem 0.75rem;
    background: #111827;
    color: #ffffff;
    text-decoration: none;
    border-radius: 0 0 0.5rem 0.5rem;
}

.amacc-skip-link:focus,
.amacc-skip-link:active {
    left: 0.5rem;
    top: 0.5rem;
}

/* ==========================
   Toolbar
   ========================== */

.amacc-toolbar {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    z-index: 999999;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.amacc-toolbar-toggle {
    border: none;
    border-radius: 999px;
    padding: 0.6rem;
    font-size: 1.4rem;
    cursor: pointer;
    background: #111827; /* wird durch Inline-CSS überschrieben */
    color: #ffffff;
    box-shadow: 0 2px 10px rgba(0,0,0,0.25);
    display: flex;
    align-items: center;
    justify-content: center;
}

.amacc-toolbar-toggle .amacc-icon {
    width: 1.4rem;
    height: 1.4rem;
}

/* Panel */

.amacc-toolbar-panel {
    margin-top: 0.5rem;
    width: 260px;
    max-width: 80vw;
    background: #f9fafb;
    padding: 0.75rem;
    border-radius: 0.75rem;
    box-shadow: 0 10px 25px rgba(0,0,0,0.2);
    display: none;
}

.amacc-toolbar.amacc-open .amacc-toolbar-panel {
    display: block;
}

/* Gruppen */

.amacc-group {
    margin-bottom: 0.75rem;
}

.amacc-group:last-child {
    margin-bottom: 0;
}

.amacc-group-title {
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    margin-bottom: 0.25rem;
    color: #111827;
}

.amacc-group-controls {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
}

/* Buttons */

.amacc-btn {
    flex: 1 1 auto;
    border-radius: 999px;
    border: 1px solid #d1d5db;
    background: #ffffff;
    padding: 0.3rem 0.6rem;
    font-size: 0.8rem;
    cursor: pointer;
    transition: background 0.15s ease, transform 0.05s ease;
}

.amacc-btn:hover {
    background: #e5e7eb;
}

.amacc-btn:active {
    transform: translateY(1px);
}

.amacc-btn[aria-pressed="true"] {
    background: #111827;
    color: #ffffff;
    border-color: #111827;
}

.amacc-btn-tts {
    flex: 1 1 100%;
}

/* Fokus-Styles */

a:focus,
button:focus,
input:focus,
textarea:focus,
select:focus {
    outline: 2px solid #2563eb;
    outline-offset: 2px;
}

/* ==========================
   Darstellungs-Modi
   ========================== */

/* HOHER KONTRAST – wie Eye-Able: alles dunkel, Text hell, Links gelb */

body.amacc-contrast,
body.amacc-contrast #wrap_all,
body.amacc-contrast #top,
body.amacc-contrast main,
body.amacc-contrast #main,
body.amacc-contrast #content,
body.amacc-contrast .container_wrap,
body.amacc-contrast .content,
body.amacc-contrast .main_color,
body.amacc-contrast .alternate_color,
body.amacc-contrast header,
body.amacc-contrast footer,
body.amacc-contrast .sidebar,
body.amacc-contrast .widget {
    background-color: #000000 !important;
    color: #ffffff !important;
}

body.amacc-contrast a,
body.amacc-contrast a * {
    color: #ffeb3b !important;
}

body.amacc-contrast input,
body.amacc-contrast textarea,
body.amacc-contrast select {
    background-color: #111111 !important;
    color: #ffffff !important;
    border-color: #ffffff !important;
}

/* Graustufen auf Enfold-Wrapper & typische Container */

body.amacc-grayscale #wrap_all,
body.amacc-grayscale #top,
body.amacc-grayscale main,
body.amacc-grayscale #main,
body.amacc-grayscale #content {
    filter: grayscale(1);
}

/* NACHTMODUS – dunkler, aber nicht so knalliger Kontrast */

body.amacc-night,
body.amacc-night #wrap_all,
body.amacc-night #top,
body.amacc-night main,
body.amacc-night #main,
body.amacc-night #content,
body.amacc-night .container_wrap,
body.amacc-night .content,
body.amacc-night .main_color,
body.amacc-night .alternate_color,
body.amacc-night header,
body.amacc-night footer {
    background-color: #050505 !important;
    color: #f5f5f5 !important;
}

body.amacc-night a,
body.amacc-night a * {
    color: #93c5fd !important;
}

/* Blaufilter (wärmere Darstellung) */

body.amacc-blue-filter #wrap_all,
body.amacc-blue-filter #top,
body.amacc-blue-filter main,
body.amacc-blue-filter #main,
body.amacc-blue-filter #content {
    filter: sepia(0.25) hue-rotate(330deg) saturate(1.2) brightness(1.03);
}

/* Farbschwäche – einfache Unterstützung (Kontrast + Sättigung) */

body.amacc-color-weak #wrap_all,
body.amacc-color-weak #top,
body.amacc-color-weak main,
body.amacc-color-weak #main,
body.amacc-color-weak #content {
    filter: saturate(0.6) contrast(1.25);
}

/* Bilder ausblenden */

body.amacc-hide-images img,
body.amacc-hide-images picture,
body.amacc-hide-images figure,
body.amacc-hide-images video {
    display: none !important;
}

body.amacc-hide-images [style*="background-image"] {
    background-image: none !important;
}

/* Zeilenabstand */

.amacc-spacing p,
.amacc-spacing li,
.amacc-spacing div,
.amacc-spacing span {
    line-height: 1.8 !important;
}

/* Links hervorheben */

.amacc-links a {
    text-decoration: underline !important;
    text-decoration-thickness: 0.12em;
    text-underline-offset: 0.18em;
}

/* Animationen reduzieren */

.amacc-no-motion * {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
}

/* Mobile */

@media (max-width: 480px) {
    .amacc-toolbar {
        right: 0.5rem;
        bottom: 0.5rem;
    }

    .amacc-toolbar-panel {
        width: 220px;
    }
}
