/* Wolfgang revisions — 8 October 2026 */
/* Keep the same header fixed throughout; only its dimensions change. */
.frb-header.frb-header-ready {
    position: fixed !important;
    top: var(--frb-admin-offset, 0px) !important;
    left: 0; right: 0; width: 100%; z-index: 9990;
    transition: padding .32s cubic-bezier(.22, .61, .36, 1), box-shadow .32s ease !important;
}
.frb-header .frb-brand svg { transition: width .32s cubic-bezier(.22, .61, .36, 1), height .32s cubic-bezier(.22, .61, .36, 1) !important; }
.frb-header.frb-header-measuring, .frb-header.frb-header-measuring .frb-brand svg { transition: none !important; }
.frb-header.frb-header-compact {
    padding-top: 10px !important; padding-bottom: 10px !important;
    box-shadow: 0 4px 20px #0006;
}
.frb-header-compact .frb-brand svg { width: 48px; height: 35px; }
/* Paint the document canvas exposed during mobile rubber-band scrolling. */
html { scroll-padding-top: var(--frb-nav-offset, 92px); background-color:#000 !important; }
/* With an opaque root, body paints separately and would cover the theme's
   negative-z-index canvas. Let the black root remain the base layer. */
body.with_bg_canvas { background-color:transparent !important; }
.frb-header-placeholder { background-color:#000; }
.frb-header a:focus-visible, .frb-mission-disclosure summary:focus-visible,
.frb-legal button:focus-visible { outline: 2px solid #fff; outline-offset: 5px; }
.frb-rs-gradient[data-text="BERLIN 2027"] {
    --text-gradient: linear-gradient(90deg, #f50f8c 0%, #a11feb 48%, #ad8dff 78%, #dacdff 100%) !important;
}
.frb-mission-disclosure { border-top: 1px solid #45344f; border-bottom: 1px solid #45344f; margin-top: 30px; }
.frb-mission-disclosure summary {
    display: flex; align-items: center; justify-content: space-between; gap: 20px;
    list-style: none; cursor: pointer; padding: 18px 0;
    font: 800 14px/1.35 "avenir-lt-pro", Arial, sans-serif;
    letter-spacing: .12em; text-transform: uppercase; color: #fff;
}
.frb-mission-disclosure summary::-webkit-details-marker { display: none; }
.frb-mission-disclosure summary::after { content: '+'; font-size: 28px; line-height: 1; font-weight: 300; }
.frb-mission-disclosure[open] summary::after { content: '−'; }
.frb-mission-disclosure .frb-mission-full { padding: 8px 0 22px; font: 200 18px/1.55 "avenir-lt-pro", Arial, sans-serif; }
.frb-mission-full p:last-child { margin-bottom: 0; }
.trx_addons_scroll_to_top { border: 2px solid #a11feb !important; box-sizing: border-box; }
.frb-footer .frb-email { font-size: 16px !important; line-height: 1.5 !important; }
.frb-footer .elementor-element-6f9f0c6 { font-size: 16px !important; }
.frb-footer > .elementor-container { display:block; }
.frb-footer > .elementor-container > .elementor-column { width:100% !important; }
.frb-footer .frb-footer-main > .elementor-widget-wrap { padding:0 !important; }
.frb-footer .frb-footer-title { width:100%; margin-bottom:32px !important; }
.frb-footer .frb-footer-details-row { width:100%; }
.frb-footer .frb-footer-details-row > .elementor-container { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1fr) minmax(0,1.25fr) minmax(0,1.15fr); gap:clamp(20px,3vw,40px) !important; align-items:start; }
.frb-footer .frb-footer-details-row > .elementor-container > .elementor-column { width:auto !important; min-width:0; }
.frb-footer .frb-footer-details-row > .elementor-container > .elementor-column > .elementor-widget-wrap { padding:0 !important; align-content:start; }
.frb-footer .frb-footer-mark img { width: 165px !important; margin-top: 0; margin-left: -27px; }
.frb-footer .frb-footer-date-label { margin: 0 0 5px; font-size: 12px; line-height: 1.35; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.frb-footer .frb-footer-cooperation img { width: 190px; height: auto; }
@media (min-width:768px) and (max-width:1024px) {
    .frb-footer .frb-footer-details-row > .elementor-container { grid-template-columns:minmax(0,1fr) minmax(0,1fr); row-gap:32px !important; }
}
@media (max-width: 767px) {
    .frb-header.frb-header-compact { padding-top: 8px !important; padding-bottom: 8px !important; }
    .frb-header-compact .frb-nav { gap: 8px; }
    .frb-header-compact .frb-brand svg { width: 40px; height: 29px; }
    .frb-header .frb-nav-links { font-size: 10px !important; letter-spacing: .07em !important; gap: 8px; }
    .frb-mission-disclosure .frb-mission-full { font-size: 16px; }
    .frb-footer .frb-footer-details-row > .elementor-container { grid-template-columns:minmax(0,1fr); gap:30px !important; }
}
@media (prefers-reduced-motion: reduce) {
    .frb-header.frb-header-ready, .frb-header .frb-brand svg { transition: none !important; }
}

/* One shared size for every footer label, including Datum. */
.frb-footer .frb-footer-label, .frb-footer .frb-footer-label p {
    font-size:var(--e-global-typography-accent-font-size,13px) !important;
    line-height:1.35 !important;
}

/* Enhance the existing navigation; links remain usable without JavaScript. */
.frb-menu-toggle { display:none !important; }
.frb-nav-ready .frb-nav-links[hidden] { display:none !important; }
@media (max-width:767px) {
    .frb-header .frb-nav-ready {
        position:relative; flex-wrap:nowrap; align-items:center; gap:16px;
    }
    .frb-nav-ready .frb-menu-toggle {
        display:flex !important; flex-direction:column; justify-content:center; align-items:center;
        flex:none; gap:5px; width:44px; height:44px; min-width:44px;
        padding:10px !important; margin:0; border:1px solid #ffffff70 !important;
        border-radius:6px; background:transparent !important; color:#fff !important;
        box-shadow:none !important; cursor:pointer;
    }
    .frb-menu-toggle span {
        display:block; width:22px; height:2px; background:currentColor;
        transform-origin:center; transition:transform .2s ease,opacity .2s ease;
    }
    .frb-menu-toggle::before, .frb-menu-toggle::after { content:none !important; }
    .frb-menu-toggle:hover { border-color:#fff !important; }
    .frb-menu-toggle:focus-visible { outline:2px solid #fff; outline-offset:4px; }
    .frb-menu-open .frb-menu-toggle span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
    .frb-menu-open .frb-menu-toggle span:nth-child(2) { opacity:0; }
    .frb-menu-open .frb-menu-toggle span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
    .frb-header .frb-nav-ready .frb-nav-links {
        position:absolute; top:100%; left:-6vw; right:-6vw; z-index:1;
        display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start;
        width:auto; box-sizing:border-box; margin-top:15px; padding:8px 6vw;
        gap:0 !important; font-size:13px !important; font-weight:700; line-height:1.35; letter-spacing:.07em !important;
        max-height:calc(100vh - var(--frb-nav-offset,92px) - 30px);
        max-height:calc(100dvh - var(--frb-nav-offset,92px) - 30px); overflow-y:auto;
        background:linear-gradient(135deg,#382469,#711466); border:0; border-top:1px solid #ffffff40;
        border-radius:0; box-shadow:0 12px 30px #0008;
    }
    .frb-header-compact .frb-nav-ready .frb-nav-links { margin-top:8px; }
    .frb-nav-ready .frb-nav-links a {
        display:flex; align-items:center; min-height:44px; padding:6px 0;
        box-sizing:border-box; color:#fff !important;
    }
    .frb-nav-ready .frb-nav-links a + a { border-top:1px solid #ffffff30; }
}
@media (prefers-reduced-motion:reduce) {
    .frb-menu-toggle span { transition:none; }
}
