/* ===============================
   BASE / SAFETY
================================ */
*,
*::before,
*::after{ box-sizing: border-box; }

body{
  overflow-x: hidden;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.6;
}

/* ===============================
   TYPOGRAPHY (accent)
================================ */
.site-header,
.menu--primary > li > a,
.menu-subrow a,
.nav-toggle{
  font-family: "Oswald", system-ui, sans-serif;
  letter-spacing: .02em;
}

/* ===============================
   HEADER LAYOUT
================================ */
.site-header{
  position: relative;
  z-index: 999;
}

.site-header__inner{
  display:flex;
  align-items:center;
  gap:16px;
}

/* Logo area (~30%) */
.site-header__logo{
  flex:0 0 30%;
  max-width:30%;
  display:flex;
  align-items:center;
}

.site-logo img{
  width:auto;
  max-width:100%;
  height:auto;
  max-height:110px;
  display:block;
}

/* Nav area (center) */
.site-header__nav{
  flex:1 1 auto;
  min-width:0;
  position:relative; /* anchor */
}

/* Tools container */
.site-header__tools{
  flex:0 0 auto;
  display:flex;
  align-items:flex-start;
}

/* tool-link: як плитка */
.tool-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius: var(--icon-radius);
  text-decoration:none;

  border: var(--tile-border-width) solid var(--tile-border);
  background: var(--tile-bg);
  color: var(--tile-text);
}

/* ===============================
   PRIMARY MENU TILES
================================ */
/* Hide default WP dropdown (бо 2-й рівень показуємо в .menu-subrow) */
.menu--primary .sub-menu{ display:none; }

.menu--primary{
  list-style:none;
  padding:0;
  margin:0;

  display:grid;
  gap:10px;

  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  align-items:stretch;
}

.menu--primary > li{ display:flex; }

.menu--primary > li > a{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;

  padding:12px 14px;
  min-height:56px;

  text-align:center;
  white-space:normal;
  word-break:break-word;

  text-decoration:none;
  border-radius: var(--tile-radius);
  border: var(--tile-border-width) solid var(--tile-border);
  background: var(--tile-bg);
  color: var(--tile-text);
/*шрифт кнопок меню*/
  font-size: 18px;
  font-weight:600;
  line-height:1.2;
}

.menu--primary > li > a:hover{
  background: var(--tile-hover-bg);
  box-shadow: var(--tile-hover-shadow);
}

.menu--primary > li.current-menu-item > a,
.menu--primary > li.current-menu-ancestor > a,
.menu--primary > li.is-subopen > a{
  outline:2px solid rgba(0,0,0,.22); /* можна винести в змінну пізніше */
}

/* ===============================
   SUBMENU (adaptive tiles)
================================ */
.menu-subrow{
  position:absolute;
  left:50%;
  top: calc(100% + 8px);
  transform: translateX(-50%);

  width: min(1100px, calc(100vw - 24px));
  background: var(--submenu-bg);
  border:1px solid var(--submenu-border);
  border-radius:14px;
  box-shadow: var(--submenu-shadow);

  padding:10px 12px;
  z-index:1000;

  display:grid;
  gap:8px;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  align-items:stretch;
}

.menu-subrow[hidden]{ display:none; }

.menu-subrow a{
  display:flex;
  align-items:center;
  justify-content:center;

  min-height:40px;
  padding:8px 10px;

  text-decoration:none;
  border-radius:10px;
  border:1px solid var(--submenu-tile-border);
  background: var(--tile-bg);
  color: var(--tile-text);

  font-size:16px;
  font-weight:600;
  line-height:1.2;
  text-align:center;

  white-space: normal;
  overflow: hidden;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.menu-subrow a:hover{
  background: var(--tile-hover-bg);
  box-shadow: var(--tile-hover-shadow);
}

/* ===============================
   NAV TOGGLE (mobile)
================================ */
.nav-toggle{
  display:none;
  margin-bottom:10px;

  border: var(--tile-border-width) solid var(--tile-border);
  background: var(--tile-bg);
  color: var(--tile-text);

  border-radius:10px;
  padding:8px 10px;

  font-size: 13px;
  font-weight:600;
}

.nav-toggle:hover{
  background: var(--tile-hover-bg);
  box-shadow: var(--tile-hover-shadow);
}

/* ===============================
   HEADER TOOLS ICONS (grid)
================================ */
.header-tools-menu{
  display:grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(3, 34px);
  grid-auto-columns: 34px;
  gap:8px;

  list-style:none;
  margin:0;
  padding:0;
}

.header-tools-menu li a{
  width:34px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;

  border-radius: var(--icon-radius);
  border: var(--tile-border-width) solid var(--tile-border);
  background: var(--tile-bg);
  text-decoration:none;

  font-size:0;
  line-height:0;
}

.header-tools-menu li a:hover{
  background: var(--tile-hover-bg);
  box-shadow: var(--tile-hover-shadow);
}

.header-tools-menu li a::before{
  content:"";
  width:18px;
  height:18px;
  display:block;
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
    filter: var(--icon-filter);

}




/* ===============================
   RESPONSIVE (tablet/mobile)
================================ */

/* ===============================
   TABLET (лого над меню, іконки справа вертикально)
================================ */
@media (max-width: 980px){

  /* 1) Хедер у 2 рядки:
        - ряд 1: лого (100%)
        - ряд 2: меню (зліва) + соц (справа)
  */
  .site-header__inner{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: flex-start;
  }

  /* ЛОГО: завжди зверху і на всю ширину */
  .site-header__logo{
    flex: 0 0 100%;
    max-width: 100%;
    justify-content: center;

    background: var(--logo-panel-bg);
    border: 1px solid var(--logo-panel-border);
    border-radius: 14px;
    padding: 6px 10px;
  }

  .site-logo img{ max-height: 70px; }

  /* Ряд 2: меню займає весь простір зліва */
  .site-header__nav{
    flex: 1 1 auto;
    min-width: 0;
    width: auto;
    order: 2;
  }

  /* Ряд 2: іконки справа (вертикально) */
  .site-header__tools{
    flex: 0 0 auto;
    order: 3;
    align-items: flex-start;
    justify-content: flex-end;
    white-space: nowrap;
  }

  /* ІКОНКИ: вертикальна “колонка” як було (3 ряди) */
  .header-tools-menu{
    display: grid;
    grid-auto-flow: column;
    grid-template-rows: repeat(3, 34px);
    grid-auto-columns: 34px;
    gap: 8px;
  }

  /* 2) На планшеті меню показуємо одразу (без гамбургера) */
  .nav-toggle{ display: none; }

  /* якщо десь було сховане — примусово показуємо */
  .site-nav .menu--primary{ display: grid; }

  /* 3) Плитки меню: 2 колонки (оптимально під 748px як на скріні) */
  .menu--primary{
    gap: 8px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .menu--primary > li > a{
    min-height: 52px;
  font-size: 16px;        /* було 14 */
    line-height: 1.25;      /* читабельніше */
    min-height: 56px;       /* трохи вище кнопка */
    padding: 12px 12px;
  }

  /* 4) Підменю в потоці, 2 колонки */
  .menu-subrow{
    position: static;
    transform: none;
    width: 100%;
    margin-top: 10px;
    border-radius: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

 .menu-subrow a{
    font-size: 15px;        /* було 14 */
    line-height: 1.25;
    min-height: 38px;
  }
}

/* ===============================
   MOBILE (гамбургер)
================================ */


/* ===============================
   MOBILE (гамбургер)
================================ */
@media (max-width: 520px){

  /* --- Гамбургер: великий і на всю ширину --- */
  .nav-toggle{
    display: flex;
    width: 100%;
    justify-content: center;
    align-items: center;
    gap: 10px;              /* відступ між іконкою і текстом */

    padding: 14px 12px;
    font-size: 16px;
    border-radius: 14px;
    margin-bottom: 10px;
  }

  /* ПОКАЗУЄМО текст "Меню" (бо зараз він прихований screen-reader-text) */
  .nav-toggle .screen-reader-text{
    position: static;
    width: auto;
    height: auto;
    clip: auto;
    overflow: visible;
    white-space: nowrap;
    margin: 0;
    padding: 0;
  }

  /* --- Соц-іконки: в ряд (горизонтально) --- */
  .site-header__tools{
    width: 100%;
    margin-left: 0;
    display: flex;
    justify-content: center;
  }

  .header-tools-menu{
    display: grid;
    grid-auto-flow: column;
    grid-template-rows: 34px;  /* 1 ряд */
    grid-auto-columns: 34px;
    gap: 8px;
  }

  /* --- Меню: сховане до кліку --- */
  .site-nav .menu--primary{ display:none; }
  .site-nav.is-open .menu--primary{ display:grid; }

  /* 2 колонки на моб */
  .menu--primary{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .menu-subrow{
    position: static;
    transform: none;
    width: 100%;
    margin-top: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* ===============================
   ICON: Hamburger
================================ */
.nav-toggle-icon{
  width: 22px;
  height: 2px;
  background: currentColor;
  position: relative;
  display: inline-block;
  border-radius: 2px;
}

.nav-toggle-icon::before,
.nav-toggle-icon::after{
  content:"";
  position:absolute;
  left:0;
  width:22px;
  height:2px;
  background: currentColor;
  border-radius: 2px;
}

.nav-toggle-icon::before{ top:-7px; }
.nav-toggle-icon::after{ top:7px; }

/* ===============================
   ICON: X when open (опціонально, але дуже зручно)
   ВАЖЛИВО: кнопка має бути всередині .site-nav, але в тебе вона ЗОВНІ.
   Тому робимо по-іншому через aria-expanded.
================================ */
.nav-toggle[aria-expanded="true"] .nav-toggle-icon{
  background: transparent;
}
.nav-toggle[aria-expanded="true"] .nav-toggle-icon::before{
  top: 0;
  transform: rotate(45deg);
}
.nav-toggle[aria-expanded="true"] .nav-toggle-icon::after{
  top: 0;
  transform: rotate(-45deg);
}





/* ===============================
   LARGE DESKTOP polish
================================ */
@media (min-width: 1200px){
  .menu-subrow{
    grid-template-columns: repeat(auto-fit, minmax(160px, 220px));
    justify-content:center;
  }
}

/* ===============================
   Social icons mapping
================================ */
/* Telegram */
.header-tools-menu li.icon-telegram a::before,
.header-tools-menu a.icon-telegram::before{
  background-image:url("../icons/telegram.svg");
}

/* YouTube */
.header-tools-menu li.icon-youtube a::before,
.header-tools-menu a.icon-youtube::before{
  background-image:url("../icons/youtube.svg");
}

/* Instagram */
.header-tools-menu li.icon-instagram a::before,
.header-tools-menu a.icon-instagram::before{
  background-image:url("../icons/instagram.svg");
}

/* Facebook */
.header-tools-menu li.icon-facebook a::before,
.header-tools-menu a.icon-facebook::before{
  background-image:url("../icons/facebook.svg");
}

/* TikTok */
.header-tools-menu li.icon-tiktok a::before,
.header-tools-menu a.icon-tiktok::before{
  background-image:url("../icons/tiktok.svg");
}

/* LinkedIn */
.header-tools-menu li.icon-linkedin a::before,
.header-tools-menu a.icon-linkedin::before{
  background-image:url("../icons/linkedin.svg");
}

/* X (Twitter) */
.header-tools-menu li.icon-x a::before,
.header-tools-menu a.icon-x::before{
  background-image:url("../icons/x.svg");
}

/* Threads */
.header-tools-menu li.icon-threads a::before,
.header-tools-menu a.icon-threads::before{
  background-image:url("../icons/threads.svg");
}

/* Weibo */
.header-tools-menu li.icon-weibo a::before,
.header-tools-menu a.icon-weibo::before{
  background-image:url("../icons/weibo.svg");
}

/* Bilibili */
.header-tools-menu li.icon-bilibili a::before,
.header-tools-menu a.icon-bilibili::before{
  background-image:url("../icons/bilibili.svg");
}

/* Pixiv */
.header-tools-menu li.icon-pixiv a::before,
.header-tools-menu a.icon-pixiv::before{
  background-image:url("../icons/pixiv.svg");
}

/* Niconico */
.header-tools-menu li.icon-niconico a::before,
.header-tools-menu a.icon-niconico::before{
  background-image:url("../icons/niconico.svg");
}
