/* Shared accessible interaction styles. Loaded after styles.css through the sitepackage configuration. */
:root { --category: #5f710c; }
#oekologie { --category: #5f710c; }
#soziales { --category: #9a5700; }
#oekonomie { --category: #006b9e; }
#kultur { --category: #b30f5c; }
[hidden] { display: none !important; }
.a11y-page-title, .a11y-only { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
.skip-link { position:fixed; z-index:100000; top:8px; left:8px; transform:translateY(-200%); padding:12px 18px; background:#fff; color:#1a171b; border:2px solid #1a171b; }
.skip-links { margin:0; padding:0; list-style:none; }
.skip-links > li { margin:0; padding:0; }
.skip-link:focus { transform:none; }
#navMain:focus-visible, #navInfo:focus-visible { outline:3px solid #1a171b; outline-offset:3px; box-shadow:0 0 0 2px #fff; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex="0"]:focus-visible { outline:3px solid #1a171b; outline-offset:3px; box-shadow:0 0 0 2px #fff; }
#mainContent:focus { outline:none; }
#navMainToggle { display:block; border:0; padding:0; cursor:pointer; }
@media (min-width:1360px) { #navMainToggle { display:none; } }
html:not(.js) #navMain { max-height:none; overflow:visible; }
html:not(.js) #navMainToggle { display:none; }
.heading-primary-style { margin:-10px 0 18px; font-family:'Info Display W01 Book',Helvetica,sans-serif; font-size:24px; letter-spacing:.02em; font-weight:400; color:#596570; }
.zukunftsbox .heading-primary-style { margin-top:12px; }
.heading-primary-style.invers { margin-bottom:0; padding:10px; background:#596570; color:#fff; }
.heading-primary-style.large { font-size:24px; line-height:1.2; }
#oekologie .heading-primary-style, #oekologie .heading-primary-style a { color:#5f710c; }
#soziales .heading-primary-style, #soziales .heading-primary-style a { color:#9a5700; }
#oekonomie .heading-primary-style, #oekonomie .heading-primary-style a { color:#006b9e; }
#kultur .heading-primary-style, #kultur .heading-primary-style a { color:#b30f5c; }
#navTopic li { height:12px; overflow:hidden; transition:height .15s ease; }
#navTopic li:hover, #navTopic li:focus-within { height:33px; }
#navTopic li a { display:block; background:none; text-indent:0; height:25px; margin:0; padding:0; color:#fff; font-family:'Info Display W01 Regular',Helvetica,sans-serif; font-size:20px; line-height:25px; white-space:nowrap; }
#navTopic li a:focus-visible { outline-color:#fff; outline-offset:-3px; box-shadow:none; }
#navTopic li.oekologie { background-color:#5f710c !important; }
#navTopic li.soziales { background-color:#9a5700 !important; }
#navTopic li.oekonomie { background-color:#006b9e !important; }
#navTopic li.kultur { background-color:#b30f5c !important; }
#zukunftsbox_animation > div:focus-within { z-index:10; }
#zukunftsbox_animation > div:focus-within figcaption, #zukunftsbox_animation > div:hover figcaption { display:block; opacity:1; }
#zukunftsbox_animation > div:focus-within figcaption span.title, #zukunftsbox_animation > div:hover figcaption span.title { display:inline-block; }
#zukunftsbox_animation > div:focus-within img { transform:scale(1.5); }
#zukunftsbox_animation figcaption { background:rgba(255,255,255,.96); color:#4c5760 !important; }
dl.accordion dt.accordionHeader { margin:1px 0 0; }
dl.accordion .accordionTitle { margin:0; padding:0; font-size:16px; line-height:1.5; font-weight:700; }
dl.accordion .accordionToggle { display:block; width:100%; margin:0; padding:8px 14px 10px; border:0; border-bottom:2px solid var(--category); text-align:left; font:inherit; color:var(--category); background:#fff; cursor:pointer; }
dl.accordion dt.accordionHeader:first-child .accordionToggle { border-top:2px solid var(--category); }
dl.accordion .accordionToggle:hover, dl.accordion .accordionToggle[aria-expanded="true"] { background:var(--category); color:#fff; }
dl.accordion dd.accordionContent { display:block; }
@media (min-width:1360px) { dl.accordion .accordionToggle { width:33.3%; } }
.tabbed .tablist { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; }
.tabbed [role="tab"] { min-height:48px; padding:15px 10px; border:2px solid transparent; color:#fff; background:#596570; font-family:'Info Display W01 Regular',Helvetica,sans-serif; font-size:20px; line-height:1.2; text-align:left; cursor:pointer; }
.tabbed [role="tab"][aria-selected="true"] { text-decoration:underline; text-underline-offset:5px; border-color:#fff; }
.tabbed #tab-oekologie[aria-selected="true"] { background:#5f710c; }
.tabbed #tab-soziales[aria-selected="true"] { background:#9a5700; }
.tabbed #tab-wirtschaft[aria-selected="true"] { background:#006b9e; }
.tabbed #tab-kultur[aria-selected="true"] { background:#b30f5c; }
.tabbed [role="tabpanel"] { padding:10px; background:#f0f1f3; overflow-wrap:anywhere; }
@media (min-width:590px) { .tabbed .tablist { grid-template-columns:repeat(4,minmax(0,1fr)); } }
.scrollToTop { display:block; padding:0; cursor:pointer; }
@media (prefers-reduced-motion:reduce) { *, *::before, *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
@media print { .skip-link, .accordionToggle::after, .toTop, #navMainToggle { display:none !important; } dl.accordion dd.accordionContent[hidden], .tabbed [role="tabpanel"][hidden] { display:block !important; } }

/* Collapsed topic strips remain keyboard reachable without clipped text. */
#navTopic li a { opacity:0; }
#navTopic li:hover a, #navTopic li:focus-within a { opacity:1; }

.accordionState { float:right; margin-left:8px; font-size:22px; line-height:22px; }
.accordionState::before { content:'+'; }
.accordionToggle[aria-expanded="true"] .accordionState::before { content:'−'; }
.toTop .scrollToTop { width:44px; height:44px; background:#fff; border:2px solid #596570; }
.toTop .scrollToTop svg polygon { fill:#4c5760; }
.toTop .scrollToTop:hover { background:#596570; border-color:#596570; }
.toTop .scrollToTop:hover svg polygon { fill:#fff; }

/* Editorial URLs and long German words must reflow at narrow widths. */
#mainContent { overflow-wrap:anywhere; }

/* Compact search pagination; allow reflow on narrow screens. */
ul.tx-indexedsearch-browsebox { display:flex; flex-wrap:wrap; align-items:center; gap:0 6px; }
ul.tx-indexedsearch-browsebox > li { padding:4px 0 5px !important; }

/* Keep the SVG logo ratio explicit even before its resource is decoded. */
.footer .footerBottom a.logo img { aspect-ratio:582 / 140; }
