/* ===========================================================
   MODULE: SITE HEADER
   Sticky header, logo scaling, nav, banner, drawer
   - All design tokens (heights, colors, gaps, etc.)
     come from CSS variables set in site-header.php
   =========================================================== */

/* ---------- HEADER WRAPPER ---------- */
.atx-header{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background: var(--hdr-bg, #fff);
  border-bottom: 1px solid var(--border, rgba(0,0,0,.06));
  transition: box-shadow .32s ease;
}
.atx-header.is-scrolled{
  box-shadow: var(--shadow, 0 6px 18px rgba(0,0,0,.06));
}
.atx-header::after{
  content: none !important;
}

/* Automatic page offset */
body{
  padding-top: calc(var(--hdr-h-init) + var(--hdr-pad-nudge, 0px));
  transition: padding-top .32s ease;
}
body.has-scrolled-header{
  padding-top: calc(var(--hdr-h-base) + var(--hdr-pad-nudge, 0px));
}

.atx-inner{
  box-sizing: border-box;
  width: 100%;
  height: var(--hdr-h-init);
  display: grid;
  grid-template-columns: auto 1fr max-content;
  grid-template-areas: "logo nav right";
  align-items: center;
  column-gap: var(--gap-grid);
  padding-left: var(--pad-left);
  padding-right: calc(
    var(--banner-right) + var(--gap-grid) + (var(--banner-h-init) * var(--banner-aspect))
  );
  transition:
    height .32s var(--easing, cubic-bezier(.22,.61,.36,1)),
    padding-right .32s var(--easing, cubic-bezier(.22,.61,.36,1));
}
.atx-header.is-scrolled .atx-inner{
  height: var(--hdr-h-base);
  padding-right: calc(
    var(--banner-right) + var(--gap-grid) + (var(--banner-h-base) * var(--banner-aspect))
  );
}
@media (max-width:768px){
  .atx-inner{
    padding-right: var(--pad-right) !important;
  }
}

/* logo / brand */
.atx-logo{ display:none !important; }
.atx-brand{
  grid-area: logo;
  display: contents;
}
.custom-logo-link{
  display: inline-flex;
  align-items: center;
  line-height: 1;
  height: var(--logo-h-init);
  transition: height .32s var(--easing, cubic-bezier(.22,.61,.36,1));
  will-change: height;
  overflow: hidden;
}
.atx-header.is-scrolled .custom-logo-link{
  height: var(--logo-h-base);
}
.custom-logo-link img{
  display: block;
  height: 100% !important;
  width: auto !important;
  max-height: inherit !important;
}

/* mobile tweaks */
@media (max-width:768px){
  .atx-brand{ min-width:0; }
  .custom-logo-link{
    height: var(--logo-h-init) !important;
    max-height: var(--logo-h-init) !important;
    max-width: calc(100vw - (var(--pad-left) + var(--pad-right) + 56px));
  }
  .atx-header.is-scrolled .custom-logo-link{
    height: var(--logo-h-base) !important;
    max-height: var(--logo-h-base) !important;
  }
}

/* nav (desktop) */
.atx-nav{
  grid-area: nav;
  justify-self: end;
  margin-right: var(--gap-grid);
  font-size: var(--menu-fs-init);
  line-height: 1.25;
  transition: font-size .32s var(--easing, cubic-bezier(.22,.61,.36,1));
  overflow: visible;
}
.atx-header.is-scrolled .atx-nav{
  font-size: var(--menu-fs-base);
}
.atx-menu{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 24px;
}
.atx-menu > li{
  position: relative;
}
.atx-menu > li > a{
  color: var(--menu-text-color, #000);
  text-decoration: none;
  display: inline-block;
  padding: 10px 0;
  position: relative;
  -webkit-tap-highlight-color: transparent;
  transform: scale(1);
  transform-origin: left bottom;
  will-change: transform;
  transition:
    transform .32s var(--easing, cubic-bezier(.22,.61,.36,1)),
    color .2s ease;
}

/* remove underline */
.atx-menu > li > a::after{
  content:"";
  display:none !important;
}

/* hover */
.atx-menu > li > a:hover,
.atx-menu > li > a:focus-visible{
  color: var(--are-red);
  transform: scale(var(--menu-hover-scale, 1.05));
}

/* touch no-scale */
@media (max-width:768px){
  .atx-menu > li > a{
    transform: none !important;
    transition: color .2s ease;
  }
  .atx-menu > li > a:hover,
  .atx-menu > li > a:focus-visible{
    transform: none !important;
  }
}

/* dropdown menus (generic) */
.atx-menu .sub-menu{
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 160px;
  background: var(--submenu-bg, #fff);
  box-shadow: 0 10px 24px rgba(0,0,0,.12);
  padding: 6px 0 8px;
  display: none;
  z-index: 1100;
  list-style: none;
}
.atx-menu > li > .sub-menu{
  transform: translateX(var(--submenu-offset-x)) !important;
}
.atx-menu li:hover > .sub-menu{
  display:block;
}

/* generic submenu items + hover */
.atx-menu .sub-menu li{
  list-style:none;
  margin:0;
  padding:0;
}
.atx-menu .sub-menu li a{
  display:block;
  padding:8px 12px;
  color: var(--submenu-text-color, #222);
  text-decoration:none;
  white-space:nowrap;
  transition: color .2s ease;
}
.atx-menu .sub-menu li a:hover{
  background: transparent;
  color: var(--are-red);
}

/* ============================================================
   POLYLANG — main menu
   ============================================================ */

/* Top-level language item */
.atx-menu > .pll-parent-menu-item > a{
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
  white-space: nowrap;
}

/* Flag size */
.atx-menu > .pll-parent-menu-item > a img{
  width: 16px !important;
  height: 11px !important;
}

/* Text */
.atx-menu > .pll-parent-menu-item > a span{
  line-height: 1.2;
}

/* Language dropdown items */
.atx-menu .pll-parent-menu-item > .sub-menu a{
  display: flex;
  align-items: center;
  gap: 0.3em;
  padding: 6px 10px;
  white-space: nowrap;
}

/* Flags inside language submenu */
.atx-menu .pll-parent-menu-item > .sub-menu a img{
  width: 16px !important;
  height: 11px !important;
}

/* Panel even narrower for better text alignment */
.atx-menu > li:last-child > .sub-menu,
.atx-menu .pll-parent-menu-item > .sub-menu{
  left: auto;
  right: 0;
  min-width: 110px;
  padding: 4px 0;
  text-align: right;
  transform: translateX(var(--langmenu-offset-x)) !important;
}

/* Hide current language */
.atx-menu .pll-parent-menu-item > .sub-menu .current-lang,
.atx-drawer-menu .pll-parent-menu-item > .sub-menu .current-lang {
  display:none !important;
}

/* Polylang hover in top menu */
.atx-menu .pll-parent-menu-item > .sub-menu li a:hover{
  background:transparent !important;
  color:var(--are-red) !important;
}

/* ============================================================
   RIGHT CLUSTER
   ============================================================ */

.atx-right{
  grid-area:right;
  display:flex;
  align-items:flex-start;
  justify-content:flex-end;
  gap:var(--gap-grid);
  position:relative;
}

/* banner */
.atx-banner{
  position:fixed;
  top:var(--banner-top);
  right:var(--banner-right);
  z-index:999;
  pointer-events:auto;
}
.atx-banner img{
  display:block;
  height:var(--banner-h-init) !important;
  width:auto !important;
  object-fit:contain;
  transition:height .32s var(--easing, cubic-bezier(.22,.61,.36,1));
}
.atx-header.is-scrolled .atx-banner img{
  height:var(--banner-h-base) !important;
}

/* mobile banner */
@media (max-width:768px){
  .atx-banner{
    display:block !important;
    top:var(--banner-mobile-top);
    right:var(--banner-mobile-right);
    z-index:800 !important;
  }
  .atx-banner img{
    height:var(--banner-h-init) !important;
    transition:none;
  }
  .atx-header.is-scrolled .atx-banner img{
    height:var(--banner-h-base) !important;
  }
}

/* burger */
.atx-burger{
  display:none;
  position:relative;
  width:44px;
  height:44px;
  background:transparent !important;
  border:0 !important;
  color: var(--burger-color, #111) !important;
  cursor:pointer;
  align-items:center;
  justify-content:center;
  z-index:1200;
  -webkit-tap-highlight-color:transparent;
  transition:transform .25s ease;
}
.atx-burger::before,
.atx-burger span{
  content:"";
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  width:24px;
  height:3px;
  background:currentColor !important;
  border-radius:2px;
  transition:transform .25s ease, opacity .25s ease, background-color .25s ease;
}
.atx-burger::before{ top:21px; }
.atx-burger span:nth-child(1){ top:12px; }
.atx-burger span:nth-child(2){ top:30px; }

.atx-burger:hover{
  transform:scale(1.08);
}
.atx-burger:hover::before,
.atx-burger:hover span{
  color:var(--are-red);
}

/* burger → X */
body.drawer-open .atx-burger::before{
  opacity:0;
}
body.drawer-open .atx-burger span:nth-child(1){
  transform:translate(-50%, 9px) rotate(45deg);
  color:var(--are-red);
}
body.drawer-open .atx-burger span:nth-child(2){
  transform:translate(-50%, -9px) rotate(-45deg);
  color:var(--are-red);
}

/* ============================================================
   DRAWER
   ============================================================ */

.atx-drawer{
  position:fixed;
  inset:0 0 0 auto;
  width:76vw;
  max-width:320px;
  transform:translateX(100%);
  transition:transform .38s cubic-bezier(.22,.61,.36,1);
  background: var(--drawer-bg, #fff);
  box-shadow:-20px 0 40px rgba(0,0,0,.15);
  z-index:2000;
}
.atx-drawer__inner{
  padding:18px 22px;
  display:flex;
  flex-direction:column;
  height:100%;
}
.atx-drawer__close{
  align-self:flex-end;
  background:none !important;
  border:0 !important;
  width:48px;
  height:48px;
  margin-bottom:12px;
  font-size:48px;
  cursor:pointer;
  color: var(--drawer-close-color, #222) !important;
  transition:color .2s ease;
}
.atx-drawer__close:hover{
  color:var(--are-red) !important;
}

.atx-drawer-menu{
  list-style:none;
  margin:0;
  padding:0;
  flex:1;
  overflow-y:auto;
}
.atx-drawer-menu li a{
  display:block;
  padding:8px 6px;
  /*line-height:1.3;*/ /* tighter spacing */
  color: var(--drawer-link-color, #000);
  border-bottom:1px solid var(--drawer-divider-color, #f1f1f1);
  text-decoration:none;
  transition:color .2s ease;
}

/* Top-level items in drawer */
.atx-drawer-menu > li > a{
  font-size: 1rem;
  font-weight: 700;
}

/* Submenu items in drawer */
.atx-drawer-menu .sub-menu{
  list-style: none;   /* remove the ugly bullets/rings */
  margin: 0;
  padding: 0;
}

.atx-drawer-menu .sub-menu a{
  font-size: 0.95rem;
  font-weight: 400;
  padding-left: 18px;  /* visual indent for hierarchy */
}

.atx-drawer-menu li a:hover{
  color:var(--are-red);
}

/* Polylang root in drawer: keep flag + text on one line */
.atx-drawer-menu > .pll-parent-menu-item > a{
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
  white-space: nowrap;
}
.atx-drawer-menu > .pll-parent-menu-item > a img{
  width: 16px !important;
  height: 11px !important;
}

/* Polylang submenu in drawer: ALSO keep flag + text on one line */
.atx-drawer-menu .pll-parent-menu-item > .sub-menu a{
  display: flex;
  align-items: center;
  gap: 0.3em;
  white-space: nowrap;
  padding: 10px 6px; /* slightly less vertical than root items */
}
.atx-drawer-menu .pll-parent-menu-item > .sub-menu a img{
  width: 16px !important;
  height: 11px !important;
  flex-shrink: 0;
}

/* drawer open */
body.drawer-open #atx-drawer{
  transform:translateX(0);
}

/* responsive nav */
@media (max-width:1160px){
  .atx-nav{ display:none; }
  .atx-burger{ display:flex; }
  .atx-right{ align-items:flex-start; }

  .atx-inner{
    padding-left:var(--pad-left);
    column-gap:var(--gap-grid);
    padding-right:calc(
      var(--banner-right) + var(--gap-grid) + (var(--banner-h-init) * var(--banner-aspect))
    );
  }
  .atx-header.is-scrolled .atx-inner{
    padding-right:calc(
      var(--banner-right) + var(--gap-grid) + (var(--banner-h-base) * var(--banner-aspect))
    );
  }
}
@media (max-width:768px){
  .atx-nav{ display:none; }
  .atx-burger{ display:flex; margin-right:calc(var(--banner-mobile-h) + 8px); }
  .atx-right{ gap:var(--gap-grid); }
  .atx-inner{
    padding-left:var(--pad-left);
    column-gap:var(--gap-grid);
  }
}
@media (min-width:1161px){
  .atx-burger{
    display:none !important;
  }
}




/* Remove focus border/outline on logo link */
.custom-logo-link:focus,
.custom-logo-link:active {
  outline: none !important;
  box-shadow: none !important;
  border: none !important;
}

/* Remove mouse pointer for empty headings in menu */
.menu-item a[href="#"] {
    cursor: default !important;
    pointer-events: none !important;
}

