/*!
 * Kopou Ads v2 — buttons (direction E "Kopou signature") + header (hides on scroll down)
 * Works two ways:
 *   1) plain HTML:      <a class="kp-btn kp-btn--primary">…</a>
 *   2) Elementor:       add the CSS class to the Button widget (Advanced → CSS Classes):
 *                         kp-btn-primary   → "I'm an Advertiser"
 *                         kp-btn-secondary → "I'm a Traffic Partner"
 *                         kp-btn-cta       → "Get in Touch" (set an arrow icon, Icon Position: After)
 *                       and the class kp-header to the header container.
 */
:root{
  --kp-royal:#6045F4; --kp-royal-hi:#6A4DF6; --kp-royal-lo:#4429DF;
  --kp-mint:#53E6D4; --kp-ink:#0F1417; --kp-muted:#5B6066;
  --kp-ease:cubic-bezier(.2,.8,.2,1);
}

/* ---------------------------------------------------------------- buttons (shared) */
.kp-btn,
.kp-btn-primary .elementor-button,
.kp-btn-secondary .elementor-button{
  --mx:50%; --my:120%;
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;
  height:52px;padding:0 26px;border-radius:999px;border:0;cursor:pointer;white-space:nowrap;
  font-weight:600;font-size:15px;line-height:1;letter-spacing:.005em;text-decoration:none;
  transition:transform .25s var(--kp-ease),box-shadow .3s ease,background-color .3s ease;
}
.kp-btn:focus-visible,
.kp-btn-primary .elementor-button:focus-visible,
.kp-btn-secondary .elementor-button:focus-visible,
.kp-btn-cta .elementor-button:focus-visible,
.kp-split:focus-visible{outline:2px solid var(--kp-royal);outline-offset:3px}

/* primary — solid Royal Purple, mint light follows the cursor */
.kp-btn--primary,
.kp-btn-primary .elementor-button{
  color:#fff !important;overflow:hidden;
  background:
    radial-gradient(90px 70px at var(--mx) var(--my),rgba(83,230,212,.75),rgba(83,230,212,0) 70%),
    linear-gradient(180deg,var(--kp-royal-hi),#5236F0 55%,var(--kp-royal-lo)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35),inset 0 0 0 1px rgba(255,255,255,.12),0 14px 28px -14px rgba(72,44,230,.75);
}
.kp-btn--primary:hover,
.kp-btn-primary .elementor-button:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.4),inset 0 0 0 1px rgba(255,255,255,.14),0 18px 32px -14px rgba(72,44,230,.8)}

/* secondary — frosted glass with a mint dot */
.kp-btn--secondary,
.kp-btn-secondary .elementor-button{
  color:var(--kp-ink) !important;
  background:rgba(255,255,255,.62) !important;
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.95),inset 0 -8px 16px rgba(120,110,190,.08),0 10px 24px -16px rgba(40,30,120,.45);
}
.kp-btn--secondary::before,
.kp-btn-secondary .elementor-button::before{
  content:"";width:8px;height:8px;border-radius:50%;flex:none;background:var(--kp-mint);
  box-shadow:0 0 0 4px rgba(83,230,212,.22);transition:transform .3s ease;
}
.kp-btn--secondary:hover,
.kp-btn-secondary .elementor-button:hover{transform:translateY(-2px);background:rgba(255,255,255,.85) !important}
.kp-btn--secondary:hover::before,
.kp-btn-secondary .elementor-button:hover::before{transform:scale(1.35)}

/* ---------------------------------------------------------------- split CTA: dark pill + arrow orb */
/* plain HTML */
.kp-split{display:inline-flex;align-items:center;gap:6px;text-decoration:none}
.kp-split__text{display:inline-flex;align-items:center;height:42px;padding:0 18px;border-radius:999px;background:var(--kp-ink);color:#fff;
  font-weight:600;font-size:13.5px;line-height:1;white-space:nowrap;box-shadow:inset 0 1px 0 rgba(255,255,255,.15);transition:transform .25s var(--kp-ease)}
.kp-split__orb{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:var(--kp-royal);background:#fff;
  box-shadow:inset 0 0 0 1.5px rgba(96,69,244,.35),0 8px 18px -12px rgba(40,30,120,.5);transition:background .3s,color .3s,box-shadow .3s}
.kp-split__orb svg{width:16px;height:16px;transition:transform .35s var(--kp-ease)}
.kp-split:hover .kp-split__text{transform:translateY(-1px)}
.kp-split:hover .kp-split__orb{background:linear-gradient(180deg,var(--kp-royal-hi),var(--kp-royal-lo));color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 10px 20px -10px rgba(72,44,230,.7)}
.kp-split:hover .kp-split__orb svg{transform:rotate(45deg)}

/* Elementor Button widget (text + icon, icon position "After") */
.kp-btn-cta .elementor-button{background:transparent !important;padding:0 !important;border:0 !important;box-shadow:none !important;border-radius:0 !important}
.kp-btn-cta .elementor-button-content-wrapper{display:inline-flex !important;align-items:center;gap:6px;flex-direction:row !important}
.kp-btn-cta .elementor-button-text{order:1;display:inline-flex;align-items:center;height:42px;padding:0 18px;border-radius:999px;background:var(--kp-ink);color:#fff;
  font-weight:600;font-size:13.5px;line-height:1;white-space:nowrap;box-shadow:inset 0 1px 0 rgba(255,255,255,.15);transition:transform .25s var(--kp-ease)}
.kp-btn-cta .elementor-button-icon{order:2;margin:0 !important;width:42px;height:42px;border-radius:50%;display:grid !important;place-items:center;
  color:var(--kp-royal);background:#fff;font-size:15px;
  box-shadow:inset 0 0 0 1.5px rgba(96,69,244,.35),0 8px 18px -12px rgba(40,30,120,.5);transition:background .3s,color .3s,box-shadow .3s}
.kp-btn-cta .elementor-button-icon svg{width:16px;height:16px;fill:currentColor;transition:transform .35s var(--kp-ease)}
.kp-btn-cta .elementor-button-icon i{transition:transform .35s var(--kp-ease)}
.kp-btn-cta .elementor-button:hover .elementor-button-text{transform:translateY(-1px)}
.kp-btn-cta .elementor-button:hover .elementor-button-icon{background:linear-gradient(180deg,var(--kp-royal-hi),var(--kp-royal-lo));color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 10px 20px -10px rgba(72,44,230,.7)}
.kp-btn-cta .elementor-button:hover .elementor-button-icon svg,
.kp-btn-cta .elementor-button:hover .elementor-button-icon i{transform:rotate(45deg)}

/* ---------------------------------------------------------------- header */
/* Normal header: transparent over the hero at the top of the page.
   Scrolling down hides it; scrolling up (or 30 s without scrolling) brings it back
   as a plain frosted bar so it stays readable over content. */
.kp-header{position:fixed;top:0;left:0;right:0;z-index:999;transform:translateY(0);
  transition:transform .45s var(--kp-ease),background-color .35s ease,box-shadow .35s ease,-webkit-backdrop-filter .35s ease,backdrop-filter .35s ease}
.kp-header .kp-header__bar,
.kp-header > .e-con-inner{margin:0 auto;width:100%;min-height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(16px,3vw,40px)}
.kp-header.is-scrolled{background:rgba(238,238,241,.78);-webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4);
  box-shadow:0 1px 0 rgba(15,20,23,.06)}
.kp-header.is-hidden{transform:translateY(-110%)}
body.admin-bar .kp-header{top:32px}
@media (max-width:782px){ body.admin-bar .kp-header{top:46px} }

/* nav links */
.kp-nav{display:flex;gap:4px;align-items:center}
.kp-nav a{position:relative;white-space:nowrap;padding:9px 14px;border-radius:999px;font-size:14px;font-weight:500;color:#3A3F45;text-decoration:none;transition:color .25s,background-color .25s}
.kp-nav a:hover{color:var(--kp-ink);background:rgba(255,255,255,.55)}

/* simple dropdown — plain HTML (.kp-dd) and Elementor Pro Nav Menu (.sub-menu) */
.kp-dd{position:relative}
.kp-dd > a::after{content:"";display:inline-block;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-3px) rotate(45deg);margin-left:8px}
.kp-menu,
.kp-header .elementor-nav-menu--main .sub-menu{
  min-width:180px;border-radius:14px !important;padding:6px !important;border:1px solid #ECECF1 !important;background:#fff !important;
  box-shadow:0 14px 32px -16px rgba(15,20,23,.25) !important;
}
.kp-menu{position:absolute;top:calc(100% + 8px);left:0;opacity:0;pointer-events:none;transform:translateY(4px);transition:opacity .18s ease,transform .2s ease;z-index:5}
.kp-dd:hover .kp-menu,.kp-dd:focus-within .kp-menu{opacity:1;pointer-events:auto;transform:translateY(0)}
.kp-menu a,
.kp-header .elementor-nav-menu--main .sub-menu a{display:block;padding:10px 14px !important;border-radius:9px !important;font-size:14px;font-weight:500;color:#3A3F45 !important;background:transparent !important}
.kp-menu a:hover,
.kp-header .elementor-nav-menu--main .sub-menu a:hover{background:#F3F1FE !important;color:var(--kp-royal) !important}

@media (max-width:900px){ .kp-nav{display:none} }
@media (prefers-reduced-motion:reduce){
  .kp-btn,.kp-split *,.kp-header,
  .kp-btn-primary .elementor-button,.kp-btn-secondary .elementor-button,.kp-btn-cta .elementor-button *{transition:none !important}
}
