/*
Theme Name: Hi‑Tech Consulting
Version: 1.0.0
Text Domain: htc
*/
:root{ --brand:#7A33FF; --acid:#B6FF00; --dark:#0A0A0B; }
body{ margin:0; color:#fff; background:
  linear-gradient(to bottom, rgba(0,0,0,1), rgba(122,51,255,0.45), rgba(10,10,11,1)) fixed,
  linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(10,10,11,1) 40%, rgba(182,255,0,0.25) 100%) fixed;
}
body::before{ content:''; position:fixed; inset:0; pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
                   linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size:40px 40px; opacity:.25; z-index:-1; }
.container{ max-width:112rem; margin:0 auto; padding:0 1rem; }
.section{ padding:4rem 0; scroll-margin-top:76px; }
html{ scroll-behavior:smooth; } :root{ scroll-padding-top:76px; }
.htc-card{ background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); border-radius:1rem; padding:1.5rem; }
.htc-pill{ display:inline-flex; align-items:center; gap:.5rem; border-radius:999px; padding:.5rem 1rem; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.08); }
.htc-cta{ display:inline-flex; align-items:center; gap:.5rem; border-radius:1rem; padding:.75rem 1rem; background:var(--acid); color:#000; font-weight:600; text-decoration:none; }
.text-dim{ color:rgba(255,255,255,.7); }
.stat{ background: rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); border-radius:1rem; padding:1rem; }
.stat .v{ font-size:1.75rem; font-weight:700; } .stat .l{ color:rgba(255,255,255,.7); font-size:.9rem; }
.site-header{ position:sticky; top:0; z-index:30; backdrop-filter: blur(10px); background: rgba(0,0,0,.5); border-bottom:1px solid rgba(255,255,255,.1); }
.nav-collapsed{ display:none; }
@media (min-width:768px){ .hamb{ display:none !important; } }
.main-nav{ list-style:none; margin:0; padding:0; display:flex; gap:1.5rem; justify-content: center; }
.main-nav li{ list-style:none; } .main-nav a{ color:rgba(255,255,255,.8); text-decoration:none; padding:.5rem .25rem; display:inline-block; }
.main-nav a:hover{ color:#fff; }
footer{ border-top:1px solid rgba(255,255,255,.1); padding:2rem 0; color:rgba(255,255,255,.65); }


/* ===== Header layout: center desktop nav ===== */
.header-grid{
  display:grid;
  grid-template-columns: auto 1fr auto; /* logo | center | actions */
  align-items:center;
  gap: 1rem;
}
.header-center{ justify-self:center; }
@media(min-width:768px){
  .header-center .main-nav{ justify-content:center; }
}


/* === Strong desktop centering for nav === */
@media (min-width:768px){
  .site-header .container{ position:relative; }
  .nav{ display:block !important; }          /* show nav on desktop */
  .header-center{
    position:absolute; left:50%; top:50%;
    transform: translate(-50%, -50%);        /* exact center horizontally & vertically */
    width: max-content;
  }
  .header-center .main-nav{
    display:flex; gap:1.5rem; align-items:center; justify-content:center;
    margin:0; padding:0; list-style:none;
  }
  .header-center .main-nav > li{ list-style:none; }
}


/* ===== Bulletproof centering (v10) ===== */
:root{ --header-h: 64px; }

.site-header{ position:sticky; top:0; z-index:30; border-bottom:1px solid rgba(255,255,255,.1); background:rgba(0,0,0,.5); backdrop-filter:blur(10px); }
.site-header .container{ position:relative; height:var(--header-h); display:flex; align-items:center; }
.logo{ font-weight:600; color:#fff; text-decoration:none; white-space:nowrap; }
.logo-accent{ margin-left:.5rem; background:linear-gradient(90deg, var(--acid), var(--brand)); -webkit-background-clip:text; background-clip:text; color:transparent; }

/* Hide nav on mobile by default */
.nav{ display:none; }
.hamb{ background:none; border:0; color:#fff; display:flex; margin-left:auto; }

/* Desktop exact centering independent of logo width */
@media (min-width:768px){
  .nav{ display:block !important; }
  .hamb{ display:none !important; }
  .site-header .container{ display:block; } /* disable flex to avoid influence */
  .header-center{
    position:absolute; left:50%; top:50%;
    transform: translate(-50%,-50%);
    width:max-content; pointer-events:auto;
  }
  .header-center .main-nav{ display:flex; gap:1.5rem; align-items:center; justify-content:center; margin:0; padding:0; list-style:none; }
  .header-center .main-nav > li{ list-style:none; }
  .header-center .main-nav a{ color:rgba(255,255,255,.85); text-decoration:none; padding:.5rem .25rem; }
  .header-center .main-nav a:hover,
  .header-center .current-menu-item > a,
  .header-center .current_page_item > a{ color:#fff; }
}

/* Mobile dropdown centered list */
.mobile-panel{
  position:absolute; left:0; right:0; top:var(--header-h);
  background:rgba(10,10,11,.95); backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(255,255,255,.12);
  box-shadow:0 10px 30px rgba(0,0,0,.35);
  display:none; z-index:25;
}
.mobile-panel.open{ display:block; animation:drop .18s ease-out both; }
@keyframes drop{ from{opacity:0; transform:translateY(-6px);} to{opacity:1; transform:translateY(0);} }

.mobile-nav{ list-style:none; margin:0; padding:.5rem 0; display:flex; flex-direction:column; gap:.25rem; align-items:center; }
.mobile-nav li{ list-style:none; }
.mobile-nav a{ display:block; padding:.9rem 1.25rem; color:rgba(255,255,255,.92); text-decoration:none; }
.mobile-nav a:hover{ background:rgba(255,255,255,.06); color:#fff; }

/* Anchor safe offset */
:root{ scroll-padding-top: calc(var(--header-h) + 12px); }
.section{ scroll-margin-top: calc(var(--header-h) + 12px); }


/* ===== v11: FORCE desktop centering regardless of 3rd‑party CSS ===== */
@media (min-width:768px){
  .site-header{ position:sticky; top:0; z-index:30; }
  .site-header .container{
    position:relative !important;
    height:var(--header-h,64px) !important;
    display:block !important;     /* убиваем flex из любых библиотек */
  }

  /* Сбрасываем все возможные наследованные стили у .main-nav */
  .header-center .main-nav{
    display:flex !important;
    position:static !important;
    float:none !important;
    margin:0 !important;
    padding:0 !important;
    left:auto !important; right:auto !important; top:auto !important; bottom:auto !important;
    transform:none !important;
    width:auto !important;
    justify-content:center !important;
    align-items:center !important;
    gap:1.5rem !important;
    list-style:none !important;
    text-align:center !important;
  }
  .header-center{
    position:absolute !important;
    left:50% !important; top:50% !important;
    transform:translate(-50%,-50%) !important;
    width:max-content !important;
    margin:0 !important; padding:0 !important;
  }
  .header-center .main-nav > li{ list-style:none !important; float:none !important; display:inline-flex !important; }
  .header-center .main-nav a{ display:inline-block !important; text-decoration:none; color:rgba(255,255,255,.9); padding:.5rem .25rem; }
}


/* ===== v12: Desktop menu centered with CSS Grid; tighter spacing ===== */
:root{ --header-h: 40px; } /* ниже шапка на десктопе */

@media (min-width:768px){
  .site-header .container{
    display:grid !important;
    grid-template-columns:auto 1fr auto !important; /* logo | center | actions/burger */
    align-items:center !important;
    position:relative !important;
    height:var(--header-h) !important;
  }
  /* Сбрасываем прошлые абсолютные центровки */
  .header-center{
    position:static !important;
    left:auto !important; top:auto !important;
    transform:none !important;
    grid-column:2 !important;
    justify-self:center !important;
    width:auto !important;
  }
  .header-center .main-nav{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    gap:1rem !important;       /* было 1.5rem — уменьшили расстояние между пунктами */
    margin:0 !important; padding:0 !important; list-style:none !important;
  }
  .header-center .main-nav > li{ list-style:none !important; }
}

/* Чуть уменьшим отступ контенту под шапкой на всех экранах */
:root{ scroll-padding-top: calc(var(--header-h) + 8px); }
.section{ scroll-margin-top: calc(var(--header-h) + 8px); }
