/*
 * css/state-editorial.css
 * Bump 27.42 (2026-05-11): Editorial-Blocks fuer programmatische
 * Bundesland-Seiten /kalender-{state-slug}-{year}.
 * Reines SSR-Layout, keine JS-Abhaengigkeit.
 */

.state-editorial {
    margin: 24px auto;
}

.state-editorial .article-content > h2 {
    font-size: 1.5rem;
    color: #0f172a;
    border-bottom: 2px solid #e2e8f0;
    padding-bottom: 8px;
    margin: 0 0 24px;
}

.state-editorial.state-editorial--feiertage,
.state-editorial.state-editorial--law,
.state-editorial.state-editorial--schulferien,
.state-editorial.state-editorial--feste,
.state-editorial.state-editorial--statistik,
.state-editorial.state-editorial--extra,
.state-editorial.state-editorial--month-context {
    margin: 0 0 32px;
    padding: 18px 22px;
    background: #f8fafc;
    border-left: 4px solid #cbd5e1;
    border-radius: 6px;
}

/* Bump 27.43 (2026-05-11): Bundesweiter Kontext (germany-month-*.md) im state-month-Merge.
   Visuelle Abgrenzung gegenueber state-spezifischen Bloecken. */
.state-editorial.state-editorial--month-context {
    border-left-color: #005bb5;
    background: rgba(0, 91, 181, 0.04);
}
.state-editorial.state-editorial--month-context::before {
    content: "Bundesweiter Kontext:";
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    color: #005bb5;
    margin-bottom: 8px;
    letter-spacing: 0.02em;
}

.state-editorial.state-editorial--feiertage { border-left-color: #dc2626; background: #fef2f2; }
.state-editorial.state-editorial--law       { border-left-color: #0b5bd3; }
.state-editorial.state-editorial--schulferien { border-left-color: #16a34a; }
.state-editorial.state-editorial--feste     { border-left-color: #d97706; }
.state-editorial.state-editorial--statistik { border-left-color: #6366f1; }

.state-editorial h3 {
    font-size: 1.15rem;
    color: #1f2937;
    margin: 0 0 12px;
    line-height: 1.35;
}

.state-editorial__body {
    font-size: 1rem;
    line-height: 1.65;
    color: #1f2937;
}

.state-editorial__body p {
    margin: 0 0 12px;
}

.state-editorial__body p:last-child { margin-bottom: 0; }

.state-editorial__body strong { color: #0f172a; }

.state-editorial__body a {
    color: #0b5bd3;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.state-editorial__body a:hover { color: #1e40af; }

.state-editorial__body ul {
    margin: 0 0 12px;
    padding-left: 20px;
}

.state-editorial__body ul li {
    margin-bottom: 4px;
}

.state-editorial__table-wrap {
    overflow-x: auto;
    margin: 0 0 12px;
}

.state-editorial__table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.92rem;
}

.state-editorial__table th,
.state-editorial__table td {
    text-align: left;
    padding: 6px 10px;
    border-bottom: 1px solid #e2e8f0;
}

.state-editorial__table th {
    background: #eef2ff;
    color: #0f172a;
    font-weight: 600;
}

.state-editorial__sources {
    margin: 16px 0 0;
    padding: 12px 16px;
    background: #f1f5f9;
    border-radius: 6px;
    font-size: 0.9rem;
}

.state-editorial__sources summary {
    cursor: pointer;
    font-weight: 600;
    color: #334155;
}

.state-editorial__sources ul {
    margin: 12px 0 0;
    padding-left: 20px;
}

.state-editorial__sources li { margin-bottom: 6px; }

.state-editorial__sources-date {
    color: #64748b;
    font-size: 0.85rem;
}

/* Dark-Mode-Anpassung (passend zum Site-Default mit prefers-color-scheme). */
@media (prefers-color-scheme: dark) {
    .state-editorial.state-editorial--feiertage,
    .state-editorial.state-editorial--law,
    .state-editorial.state-editorial--schulferien,
    .state-editorial.state-editorial--feste,
    .state-editorial.state-editorial--statistik,
    .state-editorial.state-editorial--extra,
    .state-editorial.state-editorial--month-context {
        background: #1e293b;
    }
    .state-editorial.state-editorial--feiertage { background: #3a1f1f; }
    .state-editorial.state-editorial--month-context {
        background: rgba(79, 156, 246, 0.08);
        border-left-color: #4f9cf6;
    }
    .state-editorial.state-editorial--month-context::before {
        color: #93c5fd;
    }

    .state-editorial h3 { color: #f1f5f9; }
    .state-editorial__body { color: #cbd5e1; }
    .state-editorial__body strong { color: #f1f5f9; }
    .state-editorial__body a { color: #60a5fa; }
    .state-editorial__body a:hover { color: #93c5fd; }

    .state-editorial__table th { background: #312e81; color: #f1f5f9; }
    .state-editorial__table th,
    .state-editorial__table td { border-color: #334155; }

    .state-editorial__sources { background: #1e293b; }
    .state-editorial__sources summary { color: #cbd5e1; }
    .state-editorial__sources-date { color: #94a3b8; }
}

/* Bump 27.45 (2026-05-11): Level 0 qst-spotlight cards + Level 1 qst-faq Position-0 */
.qst-spotlight--editorial {
    margin: 16px 0 24px;
}
.qst-spotlight--editorial .qst-spotlight__inner {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 12px;
}
.qst-spotlight--editorial .qst-spotlight__card {
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 10px;
    padding: 16px;
    text-align: center;
}
.qst-spotlight--editorial .qst-spotlight__label {
    font-size: 0.85rem;
    color: #555;
    margin-bottom: 4px;
}
.qst-spotlight--editorial .qst-spotlight__value {
    font-size: 1.8rem;
    font-weight: 700;
    color: #005bb5;
    line-height: 1.15;
}
.qst-spotlight--editorial .qst-spotlight__sub {
    font-size: 0.8rem;
    color: #777;
    margin-top: 4px;
}
body.dark-mode .qst-spotlight--editorial .qst-spotlight__card {
    background: #1c1c1e;
    border-color: rgba(255, 255, 255, 0.10);
}
body.dark-mode .qst-spotlight--editorial .qst-spotlight__label,
body.dark-mode .qst-spotlight--editorial .qst-spotlight__sub {
    color: #aaa;
}
body.dark-mode .qst-spotlight--editorial .qst-spotlight__value {
    color: #4f9cf6;
}

.qst-faq--position0 {
    margin: 32px auto;
    max-width: 1200px;
    padding: 0 16px;
}
.qst-faq--position0 h2 {
    font-size: 1.4rem;
    margin-bottom: 16px;
}
.qst-faq--position0 .qst-faq__item {
    border-left: 3px solid #005bb5;
    padding: 12px 16px;
    margin-bottom: 12px;
    background: rgba(0, 91, 181, 0.04);
    border-radius: 6px;
}
.qst-faq--position0 .qst-faq__item summary {
    font-weight: 600;
    cursor: pointer;
    padding: 4px 0;
    list-style: revert;
}
.qst-faq--position0 .qst-faq__item p {
    margin-top: 8px;
    line-height: 1.6;
}
body.dark-mode .qst-faq--position0 .qst-faq__item {
    background: rgba(79, 156, 246, 0.08);
    border-left-color: #4f9cf6;
}
