.mega-menu--cms{width:360px;grid-template-columns:1fr;left:auto;right:0;transform:translateY(-10px)}
.menu-item-has-children:hover>.mega-menu--cms,.menu-item-has-children:focus-within>.mega-menu--cms{transform:translateY(0)}
.primary-navigation__list>li:first-child>.mega-menu--cms{left:0;right:auto}
.mega-menu--cms a{display:block!important}
.mega-menu--cms .rg-submenu-nested{margin-left:14px;border-left:1px solid var(--line)}
.site-footer__links ul,.rg-legal-menu{list-style:none;margin:0;padding:0}
.site-footer__links li{list-style:none}
.rg-legal-menu{display:flex;flex-wrap:wrap;gap:12px}
.rg-legal-menu ul{list-style:none;padding-left:14px}
@media(max-width:1000px){.mega-menu--cms{width:100%;right:auto}.primary-navigation__list>li:has(.submenu-toggle)>a{padding-right:48px}}


/* A backdrop-filter creates a containing block for the fixed mobile menu. */
@media(max-width:1000px){
  .site-header{backdrop-filter:none;-webkit-backdrop-filter:none}
  .primary-navigation{overscroll-behavior:contain}
  .primary-navigation__list,.primary-navigation__mobile-footer{flex-shrink:0}
}


/* Mobile navigation: the full category row controls its destinations. */
@media (max-width:900px) {
  .primary-navigation { padding:20px 20px max(24px, env(safe-area-inset-bottom)); background:#faf9f5; }
  .primary-navigation__list { display:grid; gap:8px; }
  .primary-navigation__list > li { border:0; min-width:0; }
  .primary-navigation__list > li.menu-item-has-children > a { display:none; }
  .primary-navigation .submenu-toggle,
  .primary-navigation__list > li > a {
    position:static; display:flex; align-items:center; justify-content:space-between;
    width:100%; min-height:58px; height:auto; padding:14px 16px; gap:16px;
    border:1px solid transparent; border-radius:14px; background:transparent;
    color:#19372d !important; font-size:1.05rem; font-weight:750;
    line-height:1.4; text-align:left; text-decoration:none;
  }
  .primary-navigation .submenu-toggle::after {
    content:""; width:9px; height:9px; flex:0 0 9px; margin-right:4px;
    border-right:2px solid currentColor; border-bottom:2px solid currentColor;
    transform:rotate(45deg); transition:transform .2s;
  }
  .primary-navigation .submenu-toggle[aria-expanded="true"] {
    background:#e8eee6; border-color:#d3ded0;
  }
  .primary-navigation .submenu-toggle[aria-expanded="true"]::after { transform:rotate(225deg); }
  .primary-navigation__list > li > a[data-nav-active] {
    color:#19372d !important; background:#e8eee6; box-shadow:inset 3px 0 0 #99500f;
  }
  .primary-navigation .submenu-toggle:hover,
  .primary-navigation__list > li > a:hover { background:#edf1e9; }
  .primary-navigation .mega-menu--cms {
    position:static; width:100%; padding:8px 0 4px 12px; margin:0;
    border:0; border-radius:0; background:transparent; box-shadow:none;
  }
  .primary-navigation .mega-menu--cms > ul { gap:6px; }
  .primary-navigation .mega-menu--cms li a {
    position:relative; min-height:62px; padding:13px 38px 13px 16px;
    border:1px solid #e0e5dc; border-radius:12px; background:#fff;
    color:#19372d; box-shadow:none;
  }
  .primary-navigation .mega-menu--cms li a::after {
    content:""; position:absolute; right:17px; top:calc(50% - 3px);
    width:6px; height:6px; border-right:1.5px solid currentColor;
    border-top:1.5px solid currentColor; transform:rotate(45deg);
  }
  .primary-navigation .mega-menu--cms li strong { font-size:.94rem; line-height:1.4; }
  .primary-navigation .mega-menu--cms li small { margin-top:4px; color:#536358; font-size:.78rem; line-height:1.45; }
  .primary-navigation .mega-menu--cms li a:hover { background:#f1f5ed; border-color:#bdccb6; }
  .primary-navigation .mega-menu--cms a[aria-current="page"] {
    background:#e8eee6; border-color:#bdccb6; box-shadow:inset 3px 0 0 #99500f;
  }
  .primary-navigation .submenu-toggle:focus-visible,
  .primary-navigation a:focus-visible { outline:2px solid #99500f; outline-offset:3px; }
  .primary-navigation__mobile-footer { gap:16px; margin-top:auto; padding:24px 16px 0; }
  .primary-navigation__mobile-footer a { color:#19372d; overflow-wrap:anywhere; }
  .nav-open .site-header { background:#faf9f5 !important; }
  .nav-open .site-header .nav-toggle { color:#19372d !important; border-color:#d3ded0 !important; }
  .nav-open .site-header .site-brand img { filter:none !important; }
}

/* Paired account actions, shared by the header and mobile menu. */
.header-auth { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.header-auth .button { min-height:44px; padding:10px 17px; font-size:.8rem; line-height:1.3; white-space:nowrap; box-shadow:none; }
.header-auth .header-auth__login { border:1px solid #19372d; background:#19372d; color:#fff; }
.header-auth .header-auth__login:hover { background:#10251f; border-color:#10251f; }
.header-auth .header-auth__register { border:1px solid #a84906; background:#b65308; color:#fff; }
.header-auth .header-auth__register:hover { background:#914005; border-color:#914005; }
.header-auth .button:focus-visible { outline:2px solid #99500f; outline-offset:3px; }
@media (min-width:901px) and (max-width:1100px) {
  .site-header__inner { gap:12px; }
  .header-auth .button { padding-inline:12px; }
}
@media (max-width:900px) {
  .header-auth--desktop { display:none; }
  .header-auth--mobile { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; width:100%; }
  .header-auth--mobile .button { min-height:48px; padding:12px 8px; font-size:.88rem; }
  .primary-navigation__mobile-footer { border-top:1px solid #e0e5dc; }
}
