/* Brava Global navigation — canonical header/menu rules.
 * Direction is driven only by html[dir], which is generated from brava_lang().
 */
.site-header,.site-header.is-scrolled{background-color:var(--brava-header-bg,#fff);color:var(--brava-header-text,#111617)}
.header-inner{position:relative;direction:inherit}
.primary-nav,.primary-nav .menu,.header-actions{direction:inherit}
.primary-nav .menu{margin:0;padding:0;list-style:none}
.primary-nav a,.language-switch{color:var(--brava-header-text,#111617);text-decoration:none}
.mobile-language-switch{display:none}
.brava-mobile-nav-close{display:none}

@media (min-width:1024px){
  .primary-nav{margin-inline:auto;color:var(--brava-header-text,#111617)}
  .primary-nav .menu{display:flex;align-items:center;gap:22px;flex-direction:row}
  .primary-nav .menu>li>a{position:relative;display:inline-flex;align-items:center;min-height:44px;padding-block:8px;color:var(--brava-header-text,#111617);transition:color .2s ease}
  .primary-nav .menu>li>a::after{content:"";position:absolute;inset-inline-start:50%;inset-block-end:2px;width:0;height:2px;border-radius:999px;background:var(--brava-primary,#e5007d);transform:translateX(-50%);transition:width .22s ease}
  html[dir="rtl"] .primary-nav .menu>li>a::after{transform:translateX(50%)}
  .primary-nav .menu>li>a:hover,.primary-nav .menu>li>a:focus-visible,.primary-nav .menu>li.current-menu-item>a,.primary-nav .menu>li.current_page_item>a,.primary-nav .menu>li.current-menu-ancestor>a,.primary-nav .menu>li.current_page_ancestor>a,.primary-nav .menu>li>a[aria-current="page"]{color:var(--brava-primary,#e5007d)}
  .primary-nav .menu>li>a:hover::after,.primary-nav .menu>li>a:focus-visible::after,.primary-nav .menu>li.current-menu-item>a::after,.primary-nav .menu>li.current_page_item>a::after,.primary-nav .menu>li.current-menu-ancestor>a::after,.primary-nav .menu>li.current_page_ancestor>a::after,.primary-nav .menu>li>a[aria-current="page"]::after{width:100%}
  .header-actions .header-contact-cta{transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}
  .header-actions .header-contact-cta:hover,.header-actions .header-contact-cta:focus-visible,.header-actions .header-contact-cta.is-active{background:var(--brava-button-hover-bg,var(--brava-primary-hover,#6e1715));border-color:var(--brava-button-hover-bg,var(--brava-primary-hover,#6e1715));color:var(--brava-button-text,#fff);transform:translateY(-1px)}
}

@media (max-width:1023px){
  html.nav-open,body.nav-open{overflow:hidden;overscroll-behavior:none}

  /*
   * A backdrop-filter on an ancestor can turn a fixed descendant into a
   * header-relative layer on some mobile browsers. Disable it while the
   * menu is open so the navigation is guaranteed to use the viewport as
   * its containing block.
   */
  body.nav-open .site-header{backdrop-filter:none;-webkit-backdrop-filter:none}

  .nav-toggle{display:block;position:relative;z-index:1002;margin-inline-start:auto;border:0;border-radius:10px;background:var(--brava-nav-toggle-bg,#111617);box-shadow:0 6px 18px rgba(0,0,0,.14)}
  .nav-toggle>span:not(.screen-reader-text){display:block;height:3px;margin:5px;border-radius:3px;background:var(--brava-nav-toggle-icon,#fff);transition:transform .2s ease,opacity .2s ease}
  .nav-toggle[aria-expanded="true"]>span:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .nav-toggle[aria-expanded="true"]>span:nth-child(2){opacity:0}
  .nav-toggle[aria-expanded="true"]>span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

  .brava-mobile-nav-close{
    display:grid;
    place-items:center;
    position:absolute;
    z-index:2;
    inset-block-start:calc(env(safe-area-inset-top) + 24px);
    inset-inline-end:max(24px,6vw);
    width:46px;
    height:46px;
    padding:0;
    border:1px solid color-mix(in srgb,var(--brava-mobile-menu-text,#111617) 24%,transparent);
    border-radius:14px;
    background:color-mix(in srgb,var(--brava-mobile-menu-bg,#fff) 88%,transparent);
    color:var(--brava-mobile-menu-text,#111617);
    box-shadow:0 10px 26px rgba(0,0,0,.12);
    cursor:pointer;
    transition:background-color .2s ease,border-color .2s ease,transform .2s ease;
  }
  .brava-mobile-nav-close:hover,.brava-mobile-nav-close:focus-visible{
    background:var(--brava-primary,#e5007d);
    border-color:var(--brava-primary,#e5007d);
    color:#fff;
    transform:scale(1.04);
  }
  .brava-mobile-nav-close span{
    position:absolute;
    width:22px;
    height:2.5px;
    border-radius:999px;
    background:currentColor;
  }
  .brava-mobile-nav-close span:first-child{transform:rotate(45deg)}
  .brava-mobile-nav-close span:last-child{transform:rotate(-45deg)}

  /* Genuine viewport-sized mobile menu. */
  .primary-nav{
    display:none;
    position:fixed !important;
    z-index:1001;
    top:0 !important;
    right:0 !important;
    bottom:auto !important;
    left:0 !important;
    width:100vw;
    max-width:none;
    height:100vh;
    height:100dvh;
    min-height:100vh;
    margin:0 !important;
    padding:calc(env(safe-area-inset-top) + 92px) max(24px,6vw) calc(env(safe-area-inset-bottom) + 28px);
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    background:var(--brava-mobile-menu-bg,#fff);
    color:var(--brava-mobile-menu-text,#111617);
    border:0;
    border-radius:0;
    box-shadow:none;
  }
  .primary-nav.is-open{display:flex !important;flex-direction:column;align-items:stretch;justify-content:center}
  .primary-nav .menu{display:grid;gap:10px;width:min(100%,560px);margin:auto auto 0}
  .primary-nav a{display:block;padding:13px 10px;color:var(--brava-mobile-menu-text,#111617);text-align:center;font-size:clamp(1.15rem,4.8vw,1.55rem);font-weight:700}
  .primary-nav .menu>li.current-menu-item>a,.primary-nav .menu>li.current_page_item>a,.primary-nav .menu>li.current-menu-ancestor>a,.primary-nav .menu>li.current_page_ancestor>a,.primary-nav .menu>li>a[aria-current="page"]{color:var(--brava-primary,#e5007d);font-weight:800}
  .mobile-language-switch{display:flex;align-items:center;justify-content:center;width:min(100%,560px);min-height:52px;margin:22px auto auto;padding:10px 16px;border:1px solid currentColor;border-radius:12px;font-size:1rem;font-weight:700}
  .header-actions .language-switch{display:none}
}
