
/* Seasonal canvas */
.kpfx-canvas{
  position:fixed !important;
  inset:0 !important;
  z-index:50 !important;       /* above page/elementor sections */
  pointer-events:none !important;
  opacity:1 !important;
}

:root{
  --kp6-bg: rgba(255,255,255,.82);
  --kp6-bg-scrolled: rgba(255,255,255,.95);
  --kp6-stroke: rgba(15,23,42,.12);

  --kp6-text: #0A1220;
  --kp6-a: #156CFF;
  --kp6-b: #14B8A6;

  --kp6-shadow: 0 24px 60px rgba(2,6,23,.12);
  --kp6-shadow-strong: 0 16px 40px rgba(2,6,23,.16);

  --kp6-container: 1180px;
  --kp6-h: 78px;
}

.kp6-container{max-width:var(--kp6-container);margin:0 auto;padding:0 14px}

/* Seasonal canvas */


/* Header */
.kp6-header{
  position:sticky;top:0;z-index:999;
  height:var(--kp6-h);
  display:flex;align-items:center;
  background:var(--kp6-bg);
  border-bottom:1px solid var(--kp6-stroke);
  backdrop-filter: blur(16px) saturate(140%);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
  transition: background .2s ease, box-shadow .2s ease;
}
.kp6-header::after{
  content:"";
  position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(900px 160px at 18% 10%, rgba(21,108,255,.14), transparent 60%),
    radial-gradient(900px 160px at 85% 30%, rgba(20,184,166,.12), transparent 55%);
}
.kp6-header.kp6-scrolled{background:var(--kp6-bg-scrolled); box-shadow: var(--kp6-shadow);}

.kp6-row{position:relative;z-index:1;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px}

/* Logo */
.kp6-logo{display:flex;align-items:center;text-decoration:none}
.kp6-logo-img{
  height:48px;width:auto;display:block;
  max-width:min(380px, 44vw);
  padding:6px 10px;
  border-radius:18px;
  background: rgba(255,255,255,.94);
  border:1px solid rgba(2,6,23,.10);
  box-shadow: 0 10px 20px rgba(2,6,23,.08);
}

/* Desktop/Tablet menu */
.kp6-nav{display:flex;justify-content:center}
.kp6-menu{list-style:none;margin:0;padding:0;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.kp6-menu a{
  position:relative;
  display:inline-flex;align-items:center;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(2,6,23,.10);
  background: rgba(255,255,255,.78);
  color: rgba(2,6,23,.84);
  font-weight: 900;
  font-size: 12.8px;
  text-decoration:none;
  box-shadow: 0 10px 20px rgba(2,6,23,.06);
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
  overflow:hidden;
}
.kp6-menu a::before{
  content:"";
  position:absolute;inset:-40% -30%;
  background: linear-gradient(90deg, transparent, rgba(21,108,255,.18), rgba(20,184,166,.18), transparent);
  transform: translateX(-60%);
  transition: transform .55s ease;
  opacity:.9;
}
.kp6-menu a:hover{transform: translateY(-1px); box-shadow: var(--kp6-shadow-strong); background: rgba(255,255,255,.92)}
.kp6-menu a:hover::before{transform: translateX(35%);}

/* Actions */
.kp6-actions{display:flex;align-items:center;gap:10px}
.kp6-btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(2,6,23,.10);
  background: rgba(255,255,255,.82);
  color: rgba(2,6,23,.86);
  font-weight: 950;
  text-decoration:none;
  box-shadow: 0 10px 20px rgba(2,6,23,.06);
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.kp6-btn:hover{transform: translateY(-1px); box-shadow: var(--kp6-shadow-strong); background: rgba(255,255,255,.94)}
.kp6-ic{
  width:34px;height:34px;border-radius:12px;
  display:grid;place-items:center;
  background: rgba(2,6,23,.04);
  border:1px solid rgba(2,6,23,.08);
}
.kp6-btn-tg .kp6-ic{color:#1d9bf0;background: rgba(29,155,240,.10);border-color: rgba(29,155,240,.18);}
.kp6-btn-call .kp6-ic{background: rgba(21,108,255,.10);border-color: rgba(21,108,255,.18);}

.kp6-burger{
  width:46px;height:46px;
  border-radius:999px;
  border:1px solid rgba(2,6,23,.12);
  background: rgba(255,255,255,.86);
  box-shadow: 0 10px 20px rgba(2,6,23,.06);
  cursor:pointer;
  display:none;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.kp6-burger:hover{transform: translateY(-1px); box-shadow: var(--kp6-shadow-strong); background: rgba(255,255,255,.95)}

/* Mobile panel */
.kp6-mobile{
  position:absolute; left:0; right:0; top:100%;
  border-bottom:1px solid rgba(2,6,23,.10);
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(16px) saturate(140%);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
  box-shadow: var(--kp6-shadow);
}
.kp6-mobile[hidden]{display:none}

/* Mobile quick actions: icons only */
.kp6-mobile-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  padding:12px 0 6px;
}
.kp6-icon-btn{
  width:46px;height:46px;
  border-radius:999px;
  display:grid;place-items:center;
  border:1px solid rgba(2,6,23,.12);
  background: rgba(255,255,255,.92);
  box-shadow: 0 10px 20px rgba(2,6,23,.06);
  text-decoration:none;
  color: rgba(2,6,23,.86);
  font-weight: 950;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.kp6-icon-btn:hover{transform: translateY(-1px); box-shadow: var(--kp6-shadow-strong); background: rgba(255,255,255,.96)}
.kp6-icon-tg{color:#1d9bf0;border-color: rgba(29,155,240,.18); background: rgba(29,155,240,.10)}
.kp6-icon-call{border-color: rgba(21,108,255,.18); background: rgba(21,108,255,.10)}

.kp6-mobile-nav{padding:8px 0 14px}
.kp6-mobile-menu{list-style:none;margin:0;padding:0}
.kp6-mobile-menu a{
  display:flex;align-items:center;
  padding:12px 12px; margin:10px 0;
  border-radius:16px;
  border:1px solid rgba(2,6,23,.10);
  background: rgba(255,255,255,.86);
  color: rgba(2,6,23,.86);
  font-weight: 950;
  text-decoration:none;
  box-shadow: 0 10px 20px rgba(2,6,23,.06);
}

/* Breakpoints */
@media (max-width: 1024px){
  .kp6-logo-img{max-width: min(360px, 50vw);}
}
@media (max-width: 980px){
  .kp6-nav{display:none}
  .kp6-btn-text{display:none}
  .kp6-burger{display:inline-grid;place-items:center}
  :root{--kp6-h:74px}
}
@media (max-width: 520px){
  :root{--kp6-h:76px}
  .kp6-logo-img{height:46px; max-width: 78vw;}
  .kp6-row{grid-template-columns:auto auto auto}
}

.kp6-header{z-index:999 !important; position:sticky !important;}

/* Desktop menu: keep in one line; if many items, scroll instead of dropping */
.kp6-menu{
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.kp6-menu::-webkit-scrollbar{display:none;}
.kp6-nav{min-width:0 !important;}
.kp6-row{min-width:0 !important;}
.kp6-actions{flex-wrap:nowrap !important;}

@media (max-width: 1260px){
  .kp6-menu a{padding:9px 12px;font-size:12.4px;}
}


/* === KP V9 FIX: строгий горизонтальний рядок + симетричні відступи (ПК) === */
@media (min-width: 981px){
  .kp6-header{
    height: 82px !important;          /* стабільна висота */
    min-height: 82px !important;
    padding: 0 !important;            /* прибираємо “гуляючі” падінги */
  }
  .kp6-row{
    height: 82px !important;
    min-height: 82px !important;
    align-items: center !important;
    grid-template-columns: auto minmax(0,1fr) auto !important;
  }

  /* Центрування логотипа */
  .kp6-logo-img{
    height: 50px !important;
    margin: 0 !important;
  }

  /* Меню — тільки в один ряд */
  .kp6-nav{min-width:0 !important;}
  .kp6-menu{
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
    align-items:center !important;
    overflow-x: auto !important;      /* якщо не влазить — скрол */
    overflow-y: hidden !important;
    scrollbar-width: none;
  }
  .kp6-menu::-webkit-scrollbar{display:none;}
  .kp6-menu li{flex:0 0 auto !important;margin:0 !important;padding:0 !important;}
  .kp6-menu a{
    white-space: nowrap !important;
    line-height: 1 !important;
  }

  /* Кнопки справа — завжди в ряд */
  .kp6-actions{
    flex-wrap: nowrap !important;
    align-items: center !important;
  }
}

/* Трохи менші падінги пунктів на середніх екранах */
@media (min-width: 981px) and (max-width: 1280px){
  .kp6-menu a{padding: 8px 11px !important;}
}

/* === Contact dropdown (call/write) === */
.kp6-contact{position:relative;display:flex;align-items:center}
.kp6-btn-contact{gap:10px}
.kp6-phone-text{font-size:12.2px; font-weight:950; letter-spacing:.01em}
.kp6-caret{font-size:12px;opacity:.6}

.kp6-contact-menu{
  position:absolute;
  top: calc(100% + 10px);
  right:0;
  min-width: 240px;
  padding: 10px;
  border-radius: 18px;
  border: 1px solid rgba(2,6,23,.12);
  background: rgba(255,255,255,.96);
  box-shadow: var(--kp6-shadow);
  backdrop-filter: blur(16px) saturate(140%);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
}
.kp6-contact-menu[hidden]{display:none}
.kp6-contact-item{
  display:flex;align-items:center;gap:10px;
  padding: 10px 12px;
  border-radius: 14px;
  text-decoration:none;
  color: rgba(2,6,23,.88);
  font-weight: 950;
  border: 1px solid rgba(2,6,23,.08);
  background: rgba(255,255,255,.90);
  box-shadow: 0 10px 20px rgba(2,6,23,.06);
}
.kp6-contact-item + .kp6-contact-item{margin-top:8px}
.kp6-contact-item:hover{box-shadow: var(--kp6-shadow-strong); transform: translateY(-1px)}
.kp6-ci-ic{width:28px;height:28px;border-radius:10px;display:grid;place-items:center;background:rgba(2,6,23,.04);border:1px solid rgba(2,6,23,.08)}
.kp6-ci-txt{flex:1;min-width:0}

/* Tablet: make phone more compact + show burger earlier if menu crowded */
@media (max-width: 1180px){
  .kp6-nav{display:none}
  .kp6-burger{display:inline-grid;place-items:center}
  .kp6-btn-text{display:none}
  :root{--kp6-h:74px}
}

/* Mobile contact menu becomes a small centered sheet */
@media (max-width: 520px){
  .kp6-contact-menu.kp6-contact-menu--mobile{
    position: fixed;
    left: 14px;
    right: 14px;
    top: auto;
    bottom: 14px;
    min-width: auto;
    z-index: 9999;
  }
}

/* =========================
   V11 FIXES: visibility + mobile
   ========================= */
/* Prevent theme styles from breaking buttons/links */
.kp6-header, .kp6-header *{box-sizing:border-box;}
.kp6-header a{color:inherit;}
.kp6-header button{font:inherit;color:inherit;line-height:1.1;appearance:none;-webkit-appearance:none;}
.kp6-btn-text{display:inline !important;}

/* Ensure dropdown and mobile panel are on top and readable */
.kp6-mobile{z-index: 1001;}
.kp6-contact-menu{z-index: 2005;}

/* Make sure menu links stay visible on hover/focus even if theme overrides */
.kp6-menu a, .kp6-mobile-menu a, .kp6-btn, .kp6-icon-btn{
  color: rgba(2,6,23,.86) !important;
}
.kp6-menu a:hover, .kp6-mobile-menu a:hover, .kp6-btn:hover, .kp6-icon-btn:hover{
  color: rgba(2,6,23,.92) !important;
}

/* Mobile menu list visibility hardening */
.kp6-mobile-nav, .kp6-mobile-menu{display:block !important;}
.kp6-mobile-menu{padding:0 !important;margin:0 !important;}
.kp6-mobile-menu li{list-style:none !important;margin:0 !important;}

/* Improve focus accessibility */
.kp6-menu a:focus-visible,
.kp6-btn:focus-visible,
.kp6-burger:focus-visible,
.kp6-contact-item:focus-visible,
.kp6-mobile-menu a:focus-visible{
  outline: 3px solid rgba(21,108,255,.35);
  outline-offset: 2px;
}



/* Mobile: keep header compact; show contact as icon to avoid phone wrapping */
@media (max-width: 520px){
  .kp6-btn-contact{padding: 12px 12px !important; min-width: 0 !important;}
  .kp6-phone-text{display:none !important;}
  .kp6-btn-contact .kp6-ic{font-size: 18px;}
  .kp6-logo{max-width: 56vw;}
  .kp6-actions{gap: 8px;}
}
