.cpp-mobile-menu-brand, .cpp-mobile-menu-action, .cpp-mobile-menu-footer { display: none; }
@media (max-width: 782px) {
  .cpp-block-nav .wp-block-navigation__responsive-container.is-menu-open {
    position: fixed !important; inset: 0 !important; width: 100%; height: 100dvh;
    box-sizing: border-box; padding: 0 !important; margin: 0 !important;
    background: #fff !important; color: #11110f !important; overflow-y: auto;
    z-index: 100000; animation: none; overscroll-behavior: contain;
  }
  .cpp-block-nav .is-menu-open .wp-block-navigation__responsive-close {
    width: 100%; max-width: none; margin: 0;
  }
  .cpp-block-nav .is-menu-open .wp-block-navigation__responsive-dialog {
    margin: 0 !important; padding: 0; min-height: 100dvh;
  }
  .cpp-block-nav .is-menu-open .cpp-mobile-menu-brand {
    display: flex; position: relative; align-items: center; justify-content: center;
    gap: 12px; width: fit-content; height: 88px; margin: 0 auto;
    padding: env(safe-area-inset-top, 0px) 0 0; color: #11110f !important;
    border: 0; text-decoration: none;
  }
  .cpp-mobile-menu-brand img { width: 110px; height: auto; filter: brightness(0); }
  .cpp-mobile-menu-brand .cpp-header-brand__rule { background: #85684a; height: 24px; }
  .cpp-mobile-menu-brand .cpp-header-brand__label { color: #11110f; font-size: 13px; }
  .cpp-block-nav .is-menu-open .wp-block-navigation__responsive-container-close {
    top: calc(22px + env(safe-area-inset-top, 0px)); right: 18px;
    width: 44px; height: 44px; display: grid; place-items: center;
    padding: 6px; color: #11110f; background: transparent; border: 0;
  }
  .cpp-block-nav .is-menu-open .wp-block-navigation__responsive-container-close svg { width: 30px; height: 30px; }
  .cpp-block-nav .is-menu-open .wp-block-navigation__responsive-container-content {
    display: flex; flex-direction: column; align-items: stretch !important;
    gap: 0 !important; padding: 0 !important; min-height: calc(100dvh - 88px);
  }
  .cpp-block-nav .is-menu-open .cpp-mobile-menu-action {
    display: flex; align-items: center; min-height: 66px; box-sizing: border-box;
    margin: 0; padding: 18px 24px; background: #11110f !important; color: #fff !important;
    font: 500 21px/1.3 "Barlow Semi Condensed", sans-serif; letter-spacing: 0; text-transform: none;
    border: 0; text-decoration: none;
  }
  .cpp-block-nav .is-menu-open .wp-block-navigation__container {
    display: flex; flex-direction: column; align-items: stretch !important;
    gap: 0 !important; width: 100%; margin: 0; padding: 20px 24px 32px; box-sizing: border-box;
  }
  .cpp-block-nav .is-menu-open .wp-block-navigation-item { width: 100%; align-items: stretch !important; }
  .cpp-block-nav .is-menu-open .wp-block-navigation-item > .wp-block-navigation-item__content {
    display: flex; align-items: center; justify-content: space-between; gap: 16px;
    width: 100%; box-sizing: border-box; min-height: 68px; padding: 14px 0;
    font: 400 clamp(25px, 5.8vw, 30px)/1.25 "Barlow Semi Condensed", sans-serif;
    text-transform: none !important; letter-spacing: 0; color: #11110f !important;
    text-decoration: none; background: transparent; white-space: normal;
  }
  .cpp-block-nav .is-menu-open .wp-block-navigation-item__content::after {
    content: ""; position: static; flex: 0 0 8px; width: 8px; height: 8px;
    border-right: 1.5px solid currentColor; border-top: 1.5px solid currentColor;
    background: none; transform: rotate(45deg); opacity: 1;
  }
  .cpp-block-nav .is-menu-open .wp-block-navigation-item__label { font: inherit !important; }
  .cpp-block-nav .is-menu-open .wp-block-navigation__submenu-container {
    width: 100%; padding: 0 0 12px 16px !important; border: 0; background: #fff !important;
  }
  .cpp-block-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    font-size: 20px; min-height: 48px;
  }
  .cpp-block-nav .is-menu-open .cpp-mobile-menu-footer {
    display: block; margin: auto 24px 0; padding: 24px 0 calc(70px + env(safe-area-inset-bottom, 0px));
    border-top: 1px solid #85684a;
  }
  .cpp-block-nav .is-menu-open .cpp-mobile-menu-back {
    display: flex; gap: 12px; align-items: center; color: #11110f !important;
    font: 400 17px/1.4 "Barlow Semi Condensed", sans-serif; text-transform: none; letter-spacing: 0; text-decoration: none;
  }
  .cpp-block-nav .is-menu-open a:focus-visible,
  .cpp-block-nav .is-menu-open button:focus-visible { outline: 2px solid #85684a; outline-offset: 3px; }
}
