/* S-Redaktion - Menu square: only top-level MAIN nav links.
   The logo and .srt-secondary-navigation are deliberately excluded. */
.srt-site.srt-menu-square-on .srt-header .srt-navigation:not(.srt-secondary-navigation) ul.srt-menu > li.srt-menu-item > a {
    display: inline-flex;
    align-items: center;
    gap: 9px;
}
.srt-site.srt-menu-square-on .srt-header .srt-navigation:not(.srt-secondary-navigation) ul.srt-menu > li.srt-menu-item > a::before {
    content: "";
    display: inline-block;
    width: var(--srt-ms-size, 8px);
    height: var(--srt-ms-size, 8px);
    min-width: var(--srt-ms-size, 8px);
    flex: 0 0 var(--srt-ms-size, 8px);
    background: var(--srt-ms-color, #f04d43);
    border-radius: 1px;
    vertical-align: middle;
    transform: scaleX(1);
    transform-origin: 0 50%;
    transition: transform .24s cubic-bezier(.2,.8,.25,1), border-radius .24s, box-shadow .24s;
}
/* Hover turns the same red square into a short bar without moving text. */
.srt-site.srt-menu-square-on:not(.srt-menu-square-static) .srt-header .srt-navigation:not(.srt-secondary-navigation) ul.srt-menu > li.srt-menu-item > a:is(:hover, :focus-visible)::before {
    animation: none;
    transform: scaleX(2.15);
    border-radius: 2px;
    box-shadow: 0 0 10px color-mix(in srgb,var(--srt-ms-color, #f04d43), transparent 65%);
}
/* Gentle pulse for the active main-menu item or its active parent. */
.srt-site.srt-menu-square-on:not(.srt-menu-square-static) .srt-header .srt-navigation:not(.srt-secondary-navigation) ul.srt-menu > li:is(.is-current,.is-ancestor) > a:not(:hover):not(:focus-visible)::before {
    animation: srt-ms-breathe 2.9s ease-in-out infinite;
}
@keyframes srt-ms-breathe {
    0%, 73%, 100% { transform: scale(1); box-shadow: 0 0 0 0 transparent; }
    82% { transform: scale(1.18); box-shadow: 0 0 0 3px rgba(240,77,67,.09); }
    91% { transform: scale(1); box-shadow: 0 0 0 0 transparent; }
}
/* The checkbox to disable the animation also disables active pulsing. */
.srt-site.srt-menu-square-on.srt-menu-square-static .srt-header .srt-navigation:not(.srt-secondary-navigation) ul.srt-menu > li.srt-menu-item > a::before {
    animation: none !important;
    transition: none !important;
    transform: none !important;
}
/* Optional: hide squares in both CSS and JS mobile layouts. */
@media (max-width: 900px) {
    .srt-site.srt-menu-square-on.srt-menu-square-no-mobile .srt-header .srt-navigation:not(.srt-secondary-navigation) ul.srt-menu > li.srt-menu-item > a::before { display: none; }
    .srt-site.srt-menu-square-on.srt-menu-square-no-mobile .srt-header .srt-navigation:not(.srt-secondary-navigation) ul.srt-menu > li.srt-menu-item > a { gap: 0; }
}
.srt-site.srt-menu-square-on.srt-menu-square-no-mobile .srt-header .srt-navigation.is-compact:not(.srt-secondary-navigation) ul.srt-menu > li.srt-menu-item > a::before { display: none; }
.srt-site.srt-menu-square-on.srt-menu-square-no-mobile .srt-header .srt-navigation.is-compact:not(.srt-secondary-navigation) ul.srt-menu > li.srt-menu-item > a { gap: 0; }
@media (prefers-reduced-motion: reduce) {
    .srt-site.srt-menu-square-on .srt-header .srt-navigation:not(.srt-secondary-navigation) ul.srt-menu > li.srt-menu-item > a::before {
        animation: none !important;
        transition: none !important;
        transform: none !important;
        box-shadow: none !important;
    }
}
