/* IFIS: kompakter Leseweg, nach artikel.css laden. */
.ifis-reading [hidden] { display: none !important; }
.ifis-reading a { color: inherit; text-underline-offset: .2em; }
.ifis-reading #reading-count {
    margin: .5rem 0 1.25rem;
    font-size: .8rem;
    color: var(--text-muted, #666);
}
.ifis-reading-list { border-top: 1px solid var(--border-subtle, #ddd); }
.ifis-reading-item { border-bottom: 1px solid var(--border-subtle, #ddd); }
.ifis-reading-item > summary {
    display: flex;
    align-items: baseline;
    gap: .7rem;
    padding: 1rem 0;
    font-size: 1rem;
    line-height: 1.5;
}
.ifis-reading summary { cursor: pointer; list-style: none; }
.ifis-reading summary::-webkit-details-marker { display: none; }
.ifis-reading-number { flex: 0 0 1.2rem; color: var(--text-muted, #666); font-size: .85em; }
.ifis-reading-title { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.ifis-reading-toggle { position: relative; flex: 0 0 12px; width: 12px; height: 12px; align-self: center; }
.ifis-reading-toggle::before, .ifis-reading-toggle::after {
    content: ''; position: absolute; top: 50%; left: 50%;
    width: 12px; height: 1px; background: currentColor;
    transform: translate(-50%, -50%);
}
.ifis-reading-toggle::after { transform: translate(-50%, -50%) rotate(90deg); }
.ifis-reading details[open] > summary .ifis-reading-toggle::after { transform: translate(-50%, -50%); }
.ifis-reading-preview {
    margin-left: 1.9rem;
    padding: 0 0 .8rem;
}
.ifis-reading-preview.has-image {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr);
    align-items: start;
    gap: 14px;
}
.ifis-reading-image-link {
    display: block;
    width: 88px;
    margin-top: 2px;
    border-radius: 6px;
    overflow: hidden;
}
.ifis-reading-image {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}
.ifis-reading-preview-copy { min-width: 0; }
.article.ifis-reading p.ifis-reading-summary {
    margin: 0 0 .35rem;
    color: var(--text-secondary, #444);
    font-size: .85rem;
    line-height: 1.5;
}
.ifis-reading-actions {
    display: flex; flex-wrap: wrap; align-items: center;
    column-gap: 1.5rem; row-gap: .3rem;
    font-size: .85rem;
}
.ifis-reading-actions a { display: inline-flex; align-items: center; min-height: 44px; }
@media (max-width: 600px) {
    .ifis-reading-preview.has-image {
        grid-template-columns: 72px minmax(0, 1fr);
        gap: 12px;
    }
    .ifis-reading-image-link { width: 72px; }
}
.ifis-reading button {
    appearance: none; -webkit-appearance: none;
    font: inherit; color: inherit; background: transparent;
    border: 0; padding: .5rem 0; min-height: 44px;
    cursor: pointer; text-align: left;
}
.ifis-reading-actions button { color: var(--text-muted, #666); }
.ifis-reading button:hover { text-decoration: underline; }
.ifis-reading button:disabled { opacity: .5; cursor: default; }
.ifis-reading :focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.ifis-reading-item { scroll-margin-top: 110px; }
.ifis-reading-option { margin-top: 1rem; font-size: .8rem; color: var(--text-muted, #666); }
.ifis-reading-option > summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 44px; }
.ifis-reading-option p { margin: .5rem 0; }
.ifis-reading #reading-finished { margin-top: 2rem; }
.ifis-reading #reading-finished h2 { margin-top: 0; font-size: 1.1rem; }
.ifis-reading #reading-error { font-size: .8rem; }
.ifis-reading-sr {
    position: absolute; width: 1px; height: 1px; padding: 0;
    margin: -1px; overflow: hidden; clip: rect(0,0,0,0);
    white-space: nowrap; border: 0;
}

/* Weiterführender Link unter dem Leseweg */
.ifis-reading p.ifis-reading-option {
    margin-top: 1.5rem;
    font-size: 0.875rem;
    line-height: 1.5;
}

.ifis-reading p.ifis-reading-option > a {
    font-size: inherit;
    font-weight: 400;
    color: var(--text-muted, #666);
}

.ifis-reading p.ifis-reading-option > a:hover,
.ifis-reading p.ifis-reading-option > a:focus-visible {
    color: var(--text-main, #333);
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

/* Lokaler Artikelfortschritt: zehn ruhige Punkte, je 10 % ein Punkt. */
.ifis-path-progress {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    align-self: center;
    line-height: 1;
}
.ifis-path-progress-dots {
    display: inline-flex;
    align-items: center;
    gap: 3px;
}
.ifis-path-progress-dots i {
    display: block !important;
    flex: 0 0 5px;
    width: 5px !important;
    min-width: 5px;
    height: 5px !important;
    min-height: 5px;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid rgba(80,80,80,.42);
    border-radius: 50%;
    background: transparent !important;
    box-sizing: border-box;
}
.ifis-path-progress-dots i.is-filled {
    border-color: var(--text-main, #333);
    background: var(--text-main, #333) !important;
}
@media (max-width:600px) {
    .ifis-path-progress-dots { gap: 2px; }
     .ifis-path-progress-dots i { flex-basis: 4px; width: 4px !important; min-width: 4px; height: 4px !important; min-height: 4px; }
}

.ifis-path-progress.is-complete .ifis-path-progress-dots i.is-filled {
    border-color: #66836a;
    background: #66836a !important;
}

/* Fortschritt und Auf-/Zuklappen exakt auf derselben Mittelachse. */
.ifis-reading-item > summary .ifis-path-progress,
.ifis-reading-item > summary .ifis-reading-toggle {
    align-self: center;
}
