/* Shared navigation and footer adjustments for the 2026 theme. */
.header-shell .menunav > [aria-current] {
    color: #fff;
    background: rgba(239, 127, 26, .18);
    box-shadow: inset 0 -3px #ef7f1a;
    font-family: gilroy-semibold, Arial, sans-serif;
}
.header-shell .menunav > a:focus-visible,
.header-shell button:focus-visible,
.header-shell .header-logo a:focus-visible {
    outline: 2px solid #ffb777 !important;
    outline-offset: -4px;
}
.header-shell .desktop-menu-toggle .menu-toggle-lines span {
    position: static;
    width: 24px;
}
#mobmenu .mobmenu-primary-links > a[aria-current],
#mobmenu .mobmenu-accordion-btn[aria-current] {
    color: #864008;
    background: #fff0e4;
    box-shadow: inset 4px 0 #ef7f1a !important;
}
#mobmenu a:focus-visible,
#mobmenu button:focus-visible {
    outline: 2px solid #a9500a !important;
    outline-offset: -3px;
}
#menuchild1 {
    max-height: calc(100dvh - 120px);
    overflow-y: auto;
    overscroll-behavior: contain;
}
.main-footer-2026 .footer-inner-2026 {
    padding: 32px 27px calc(220px + env(safe-area-inset-bottom, 0px));
}
.footer-license-2026 {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px 18px;
    width: 100%;
    max-width: none;
    margin: 16px 0 0;
    padding: 18px 0 0;
    border: 0;
    border-top: 1px solid rgba(255, 255, 255, .18);
    border-radius: 0;
    color: #fff;
    background: transparent;
    text-decoration: none;
    transition: background-color .2s, border-color .2s;
}
.footer-license-2026:hover {
    color: #fff;
    background: transparent;
    border-color: #ffb777;
}
.footer-license-icon-2026 {
    display: flex;
    flex: 0 0 24px;
    color: #d4d8da;
    font-size: 24px;
}
.footer-license-text-2026 {
    display: flex;
    flex: 1 1 280px;
    min-width: 0;
    flex-direction: column;
    gap: 6px;
    font-size: 14px;
    line-height: 1.45;
    color: #ebecec;
}
.footer-license-text-2026 strong {
    font-family: gilroy-semibold, Arial, sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: #fff;
}
.footer-license-action-2026 {
    color: #ffb777;
    font-family: gilroy-semibold, Arial, sans-serif;
    font-size: 14px;
    text-decoration: underline;
    text-underline-offset: 4px;
}
.main-footer-2026 a:focus-visible {
    outline: 2px solid #ffb777;
    outline-offset: 4px;
}
.main-footer-2026 .footer-links-2026 a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    opacity: 1;
}
/* Keep active service links on the same grid; underline the text only. */
#menuchild1 a[aria-current],
#menuchild1 a[aria-current] h2,
#mobmenu .mobmenu-item[aria-current] .mobmenu-item-label,
#mobmenu .mobmenu-plain-link[aria-current],
#mobmenu .mobmenu-service-title[aria-current] {
    text-decoration-line: underline;
    text-decoration-color: #ef7f1a;
    text-decoration-thickness: 2px;
    text-underline-offset: 6px;
    text-decoration-skip-ink: auto;
}
#menuchild1 .menublock1400 {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr;
    gap: 24px;
    padding: 20px 27px 28px;
}
#menuchild1 .menu-container-400 {
    max-width: none;
    min-width: 0;
    align-content: flex-start;
}
#menuchild1 .menu-container-400 > a { display: block; width: 100%; }
#menuchild1 .menu-container-400 > a h2 {
    margin: 16px 0 12px;
    line-height: 1.25;
}
#menuchild1 .menu-container-400 > a:first-child h2 { margin-top: 0; }
#menuchild1 .menurow { width: 50%; max-width: none; padding: 0; }
#menuchild1 .menurow li { min-height: 44px; }
#menuchild1 .menurow li > a { min-width: 0; min-height: 44px; line-height: 1.25; overflow-wrap: anywhere; }
#menuchild1 .menurow li:hover { background: transparent; }
#menuchild1 a:hover { text-decoration: underline; text-decoration-color: #ef7f1a; text-underline-offset: 6px; }
#mobmenu .bv-menu-container-link {
    margin: 8px 0 24px;
    padding-bottom: 16px;
    border-bottom: 1px solid #e5e7eb;
}
.main-footer-2026 .footer-links-2026 a[aria-current] {
    color: #ffb777;
    text-decoration: underline;
    text-underline-offset: 5px;
}
@media (max-width: 991px) {
    .header-shell .header-top-row > .site-container {
        grid-template-columns: minmax(0, 1fr) auto;
    }
    .header-shell .header-left-slot { max-width: 100%; min-width: 0; }
    #mobmenu { top: 92px; }
    #mobmenu .mobmenu-panel { padding-bottom: calc(100px + env(safe-area-inset-bottom, 0px)); }
    #mobmenu .mobmenu-scroll { overscroll-behavior: contain; }
}
@media (max-width: 767px) {
    .header-shell .site-container { padding-left: 16px; padding-right: 16px; }
    #mobmenu { top: 88px; }
    .main-footer-2026 .footer-inner-2026 { padding-left: 16px; padding-right: 16px; }
    .footer-license-2026 { gap: 12px; }
    .footer-license-text-2026 { flex-basis: calc(100% - 36px); }
    .footer-license-action-2026 { margin-left: 36px; }
}
@media (prefers-reduced-motion: reduce) {
    .header-shell *, #mobmenu *, .main-footer-2026 * { transition: none !important; }
}
