/* V2ASHCHUK v0.18 — faithful mobile navigation from supplied 360px mockups. */
@media (max-width: 1199px) {
  .site-header-shell { isolation:isolate; }
  .site-header { overflow:visible; }
  .v2-mobile-category, .v2-mobile-toggle { min-width:0; }
  .v2-mobile-menu:not([hidden]), .v2-category-dropdown:not([hidden]) {
    box-sizing:border-box; left:0; right:0; top:100%; width:100%;
    background:#000; color:#fff; border-top:0; border-bottom:0;
    border-radius:0; box-shadow:none; text-align:left;
    max-height:calc(100dvh - var(--header-height) - var(--wp-bar, 0px));
    overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain;
    transform:translate3d(0,-8px,0);
    transition:transform .3s cubic-bezier(.22,1,.36,1), opacity .23s ease, visibility .3s;
  }
  .v2-mobile-menu:not([hidden]) { padding:20px var(--gutter) 19px; }
  .v2-mobile-menu-nav { display:block; width:100%; }
  .v2-mobile-list { display:flex; flex-direction:column; align-items:stretch; gap:0; padding:0; margin:0; list-style:none; }
  .v2-mobile-list li {
    padding:0; margin:0; border:0; width:100%; min-width:0;
    height:40px; display:flex; align-items:flex-start; justify-content:flex-end;
  }
  .v2-mobile-list a {
    display:block; width:auto; padding:0; margin:0; text-align:right;
    font:700 22px/40px var(--font-display); text-transform:uppercase;
    letter-spacing:0; white-space:nowrap; text-decoration:none;
    transition:color .2s ease, transform .25s cubic-bezier(.22,1,.36,1);
  }
  .v2-mobile-list a:hover, .v2-mobile-list a:focus-visible { color:rgba(255,255,255,.65); transform:translateX(-5px); padding-left:0; }
  .v2-mobile-menu-contact { border-top:1px solid rgba(255,255,255,.16); margin-top:19px; padding-top:29px; }
  .v2-mobile-menu-contact-links {
    display:flex; align-items:center; justify-content:space-between; gap:10px;
    min-height:24px; min-width:0; width:100%;
  }
  .v2-mobile-menu-contact-links a {
    display:inline-flex; align-items:center; gap:8px;
    font:700 14px/24px var(--font-main); letter-spacing:.01em;
    min-width:0; color:#fff; white-space:nowrap;
    transition:opacity .2s ease;
  }
  .v2-mobile-menu-contact-links a:hover { opacity:.7; }
  .v2-mobile-menu-contact-links a span { display:block; min-width:0; max-width:100%; overflow:hidden; text-overflow:ellipsis; }
  .v2-mobile-menu-contact-links svg { display:block; flex:none; width:20px; height:20px; }
  .v2-mobile-menu-contact-button {
    display:flex; align-items:center; justify-content:center; width:100%; height:45px;
    padding:10px 14px; margin-top:13px; background:#fff; color:#000;
    font:700 14px/24px var(--font-main); text-decoration:underline;
    text-underline-offset:2px; text-transform:uppercase;
    transition:background-color .2s ease, color .2s ease;
  }
  .v2-mobile-menu-contact-button:hover, .v2-mobile-menu-contact-button:focus-visible { background:#d9d9d9; color:#000; }
  /* Categories: left-aligned items, a tall white side button. */
  .v2-category-dropdown:not([hidden]) {
    display:grid; grid-template-columns:minmax(0,1fr) 60px;
    column-gap:16px; align-items:start;
    padding:20px var(--gutter) 8px;
  }
  .v2-category-dropdown-links { display:flex; flex-direction:column; min-width:0; }
  .v2-category-dropdown-links a {
    display:flex; align-items:center; padding:0; margin:0; border:0;
    height:40px; width:100%; min-width:0;
    font:700 22px/40px var(--font-display); text-transform:uppercase;
    color:#fff; text-decoration:none; white-space:nowrap;
    transition:color .2s ease, transform .25s cubic-bezier(.22,1,.36,1);
  }
  .v2-category-dropdown-links a:hover, .v2-category-dropdown-links a:focus-visible {
    padding-left:0; color:#c8c8c8; transform:translateX(5px);
  }
  .v2-category-dropdown .v2-category-dropdown-all {
    display:flex; align-items:center; justify-content:center; width:60px; height:148px;
    padding:8px 0; margin:0; background:#fff; color:#000;
    font:700 14px/18px var(--font-main); text-decoration:underline;
    text-underline-offset:2px; text-transform:uppercase;
    white-space:nowrap;
    transition:background-color .2s ease, color .2s ease;
  }
  .v2-category-dropdown-all-text { writing-mode:vertical-rl; transform:rotate(180deg); }
  .v2-category-dropdown .v2-category-dropdown-all:hover, .v2-category-dropdown .v2-category-dropdown-all:focus-visible {
    padding:8px 0; background:#e0e0e0; color:#000;
  }
  .v2-category-dropdown.is-open:not([hidden]) .v2-category-dropdown-links a,
  .v2-mobile-menu.is-open:not([hidden]) .v2-mobile-list li { animation:v2-v18-item-in .28s backwards cubic-bezier(.22,1,.36,1); }
  .v2-category-dropdown.is-open:not([hidden]) .v2-category-dropdown-links a:nth-child(2),
  .v2-mobile-menu.is-open:not([hidden]) .v2-mobile-list li:nth-child(2) { animation-delay:30ms; }
  .v2-category-dropdown.is-open:not([hidden]) .v2-category-dropdown-links a:nth-child(3),
  .v2-mobile-menu.is-open:not([hidden]) .v2-mobile-list li:nth-child(3) { animation-delay:60ms; }
  .v2-category-dropdown.is-open:not([hidden]) .v2-category-dropdown-links a:nth-child(4),
  .v2-mobile-menu.is-open:not([hidden]) .v2-mobile-list li:nth-child(4) { animation-delay:90ms; }
  .v2-category-dropdown.is-open:not([hidden]) .v2-category-dropdown-links a:nth-child(n+5),
  .v2-mobile-menu.is-open:not([hidden]) .v2-mobile-list li:nth-child(n+5) { animation-delay:120ms; }
  .v2-category-dropdown-all, .v2-mobile-menu-contact { animation:v2-v18-item-in .32s backwards cubic-bezier(.22,1,.36,1); animation-delay:120ms; }
  .v2-mobile-toggle[aria-expanded='true'] .v2-hamburger {
    width:16px; height:16px; border:1px solid currentColor;
    display:flex; justify-content:center; gap:0; position:relative;
    transition:width .25s ease, height .25s ease;
  }
  .v2-mobile-toggle[aria-expanded='true'] .v2-hamburger i {
    position:absolute; width:11px; height:1px; top:6.5px; left:1.5px;
  }
  .v2-mobile-toggle[aria-expanded='true'] .v2-hamburger i:first-child { transform:rotate(45deg); }
  .v2-mobile-toggle[aria-expanded='true'] .v2-hamburger i:last-child { transform:rotate(-45deg); }
  .v2-mobile-category button[aria-expanded='true'] .v2-category-chevron { transform:none; }
  .v2-mobile-toggle[aria-expanded='true'], .v2-mobile-category:has(button[aria-expanded='true']) { color:#fff; }
  body.menu-open .v2-mobile-toggle[aria-expanded='false'], body.menu-open .v2-mobile-category:has(button[aria-expanded='false']) { color:rgba(255,255,255,.55); }
  body.menu-open .v2-mobile-toggle[aria-expanded='false'] .v2-hamburger,
  body.menu-open .v2-mobile-category:has(button[aria-expanded='false']) .v2-category-chevron { color:rgba(255,255,255,.75); }

}
@keyframes v2-v18-item-in {
  from { opacity:0; transform:translateY(5px); }
  to { opacity:1; transform:translateY(0); }
}
@media (max-width:767px) {
  .site-header { grid-template-rows:minmax(0,calc(var(--header-height) - 44px)) 44px; }
  .v2-mobile-menu:not([hidden]), .v2-category-dropdown:not([hidden]) { max-width:100%; }
}
@media (max-width:359px) {
  .v2-mobile-menu-contact-links a { font-size:12px; gap:5px; }
  .v2-mobile-menu-contact-links svg { height:17px; width:17px; }
  .v2-category-dropdown-links a { font-size:20px; }
  .v2-category-dropdown:not([hidden]) { column-gap:10px; }
}
@media (prefers-reduced-motion:reduce) {
  .v2-category-dropdown.is-open:not([hidden]) .v2-category-dropdown-links a,
  .v2-mobile-menu.is-open:not([hidden]) .v2-mobile-list li,
  .v2-category-dropdown-all, .v2-mobile-menu-contact { animation:none; }
  .v2-mobile-menu:not([hidden]), .v2-category-dropdown:not([hidden]),
  .v2-mobile-list a, .v2-category-dropdown-links a,
  .v2-mobile-menu-contact-button { transition:none; }
}
