/* Keep the existing black/white menu, scoped to the Grupo Prim child theme. */
#masthead.gp-main-header .gp-primary-nav { gap: 0; }
#masthead.gp-main-header .navbar-brand { margin-right: 1rem; max-width: calc(100% - 104px); }
#masthead.gp-main-header .navbar-brand img { display: block; max-width: 100%; height: auto; }
#masthead.gp-main-header .gp-menu-toggle {
    display: none; align-items: center; justify-content: center; gap: 10px;
    min-width: 88px; min-height: 44px; padding: 8px 10px;
    color: #fff; background: #000; border: 1px solid #fff; border-radius: 4px; font-size: 16px;
}
#masthead.gp-main-header .gp-menu-icon {
    display: inline-block; width: 22px; height: 16px;
    border-top: 2px solid currentColor; border-bottom: 2px solid currentColor; position: relative;
}
#masthead.gp-main-header .gp-menu-icon::after {
    content: ''; position: absolute; top: 5px; left: 0; width: 100%; border-top: 2px solid currentColor;
}
#masthead.gp-main-header #main-nav { min-width: 0; }
#masthead.gp-main-header #main-nav .navbar-nav { margin: 0; padding: 0; list-style: none; }
#masthead.gp-main-header #main-nav li { position: relative; }
#masthead.gp-main-header #main-nav a {
    display: block; color: #fff; background: #000; line-height: 1.4; white-space: normal;
    overflow-wrap: anywhere; text-decoration: none;
}
#masthead.gp-main-header #main-nav li > a { padding: 12px 16px; }
#masthead.gp-main-header #main-nav .gp-has-submenu > a { padding-right: 48px; }
#masthead.gp-main-header #main-nav a::after { display: none; }
#masthead.gp-main-header #main-nav .dropdown-menu {
    display: none; position: absolute; top: 100%; left: 0; right: auto;
    width: 240px !important; min-width: 0; max-width: calc(100vw - 32px);
    margin: 0; padding: 4px 0; list-style: none; background: #000;
    border: 1px solid #fff; border-radius: 0; z-index: 1000;
}
#masthead.gp-main-header #main-nav .dropdown-menu .dropdown-menu { top: 0; left: 100%; }
#masthead.gp-main-header #main-nav li.is-open > .dropdown-menu { display: block; }
#masthead.gp-main-header #main-nav li.gp-opens-left > .dropdown-menu { left: auto; right: 0; }
#masthead.gp-main-header #main-nav .dropdown-menu li.gp-opens-left > .dropdown-menu { right: 100%; }
#masthead.gp-main-header .gp-submenu-toggle {
    position: absolute; top: 0; right: 0; display: inline-flex; align-items: center; justify-content: center;
    width: 44px; min-height: 44px; padding: 0; color: #fff; background: #000;
    border: 0; border-radius: 0; cursor: pointer;
}
#masthead.gp-main-header .gp-submenu-toggle::after {
    content: ''; width: 8px; height: 8px; border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor; transform: rotate(45deg); margin-top: -4px;
}
#masthead.gp-main-header .gp-submenu-toggle[aria-expanded="true"]::after { transform: rotate(225deg); margin-top: 4px; }
#masthead.gp-main-header .gp-primary-nav a:focus-visible,
#masthead.gp-main-header .gp-primary-nav button:focus-visible { outline: 2px solid #fff; outline-offset: -3px; }
#masthead.gp-main-header #main-nav a:hover { text-decoration: underline; }
/* Without JavaScript, keep the links reachable instead of hiding the navigation. */
#masthead.gp-main-header:not(.gp-menu-ready) #main-nav { display: block; }
#masthead.gp-main-header:not(.gp-menu-ready) #main-nav .dropdown-menu { display: block; position: static; }
@media (min-width: 1200px) {
    #masthead.gp-main-header .gp-primary-nav { flex-wrap: nowrap; }
    #masthead.gp-main-header .navbar-brand { flex-shrink: 0; }
    #masthead.gp-main-header #main-nav .navbar-nav > li > a { padding: 12px 8px; }
    #masthead.gp-main-header #main-nav .navbar-nav > li.gp-has-submenu > a { padding-right: 32px; }
    #masthead.gp-main-header .navbar-nav > li > .gp-submenu-toggle { width: 30px; }
}
@media (max-width: 1199.98px) {
    #masthead.gp-main-header { padding: 12px 0; }
    #masthead.gp-main-header .gp-primary-nav { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 12px; }
    #masthead.gp-main-header .navbar-brand { width: 240px; max-width: 100%; min-width: 0; margin-right: 0; }
    #masthead.gp-main-header #main-nav { grid-column: 1 / -1; }
    #masthead.gp-main-header.gp-menu-ready .gp-menu-toggle { display: inline-flex; margin-left: auto; }
    #masthead.gp-main-header.gp-menu-ready #main-nav:not(.show) { display: none; }
    #masthead.gp-main-header #main-nav { flex-basis: 100%; margin-top: 12px; max-height: calc(100vh - 110px); overflow-y: auto; }
    #masthead.gp-main-header #main-nav .navbar-nav { width: 100%; }
    #masthead.gp-main-header #main-nav a { font-size: 16px; min-height: 44px; }
    #masthead.gp-main-header #main-nav .navbar-nav > li { border-top: 1px solid #fff; }
    #masthead.gp-main-header #main-nav li > .dropdown-menu,
    #masthead.gp-main-header #main-nav .dropdown-menu li > .dropdown-menu {
        position: static; top: auto; left: auto; right: auto;
        width: auto !important; max-width: none; margin: 0 0 8px 16px; padding: 0;
        border: 0; border-left: 1px solid #fff; box-shadow: none;
    }
}
