/* =========================================================
   Kidonn · navigation  —  mega menus (desktop) + drawer menu (mobile)
   Loaded after base.css, overrides the first-pass mega/off-canvas rules.
   ========================================================= */

/* ---------- MEGA ---------- */
.nav>li.has-mega{position:static}
.mega{position:absolute;top:100%;inset-inline:0;width:auto;translate:none;padding:12px 0 0;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .28s ease,transform .45s var(--ease),visibility 0s .28s;filter:drop-shadow(0 34px 50px rgba(6,8,12,.45));pointer-events:none}
.nav li:hover>.mega,.nav li:focus-within>.mega,.nav li.is-open>.mega{opacity:1;visibility:visible;transform:none;transition:opacity .28s ease .04s,transform .45s var(--ease) .04s,visibility 0s;pointer-events:auto}
.mega-in{display:grid;grid-template-columns:minmax(280px,.78fr) 2.6fr;gap:0;padding:0;background:var(--ink);color:#fff;clip-path:polygon(var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%,0 var(--cut));box-shadow:none;border-top:3px solid var(--blue)}
.mg-feat{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:30px 30px 26px;background:linear-gradient(155deg,var(--blue) 0%,var(--blue-d) 78%);color:#fff;isolation:isolate}
.mg-feat::before{content:"";position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(115deg,rgba(255,255,255,.07) 0 1px,transparent 1px 22px);mask-image:linear-gradient(200deg,#000,transparent 70%);-webkit-mask-image:linear-gradient(200deg,#000,transparent 70%)}
.mg-k{position:absolute;inset-block-end:-26px;inset-inline-end:-34px;width:220px;opacity:.16;z-index:-1;color:#fff;--lg-ink:#fff;--lg-acc:#fff;pointer-events:none;transform:rotate(-6deg)}
.mg-eye{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#CFE0FF}
.mg-eye{letter-spacing:.12em}.mg-eye .bars::before,.mg-eye .bars::after{background:#fff}
.mg-feat h3{font-size:clamp(26px,2.4vw,34px);line-height:1.04;font-weight:800}
.mg-feat p{font-size:15px;line-height:1.55;color:#E3ECFF;max-width:30ch}
.mg-steps{display:grid;gap:10px;margin:2px 0 4px;counter-reset:s}
.mg-steps li{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:600}
.mg-steps b{display:grid;place-content:center;width:26px;height:26px;background:rgba(255,255,255,.18);font-size:13px;font-weight:800}
.mg-feat .btn{margin-top:auto}
.mg-tel{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:15px;color:#fff;opacity:.92}
.mg-tel .ic{width:22px;height:22px;--ic-p:#fff}
.mg-tel:hover{opacity:1}
.mg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.07);padding:0}
.mg-i{position:relative;display:flex;align-items:center;gap:16px;padding:20px 22px;background:var(--ink-2);color:#fff;overflow:hidden;transition:background .3s;opacity:0;transform:translateY(8px)}
.nav li:hover .mg-i,.nav li:focus-within .mg-i,.nav li.is-open .mg-i{opacity:1;transform:none;transition:background .3s,opacity .5s ease calc(.08s + var(--i,0)*.035s),transform .6s var(--ease) calc(.08s + var(--i,0)*.035s)}
.mg-i::before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:3px;background:var(--blue-2);transform:scaleY(0);transform-origin:top;transition:transform .35s var(--ease)}
.mg-i:hover,.mg-i:focus-visible{background:var(--ink-3)}
.mg-i:hover::before,.mg-i:focus-visible::before{transform:none}
.mg-ic{flex:none;display:grid;place-content:center;width:52px;height:52px;background:rgba(47,107,255,.14);clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px);transition:background .3s,transform .5s var(--ease-b)}
.mg-ic .ic{width:34px;height:34px;--ic-p:var(--blue-2)}
.mg-i:hover .mg-ic{background:var(--blue);transform:rotate(-5deg) scale(1.06)}
.mg-i:hover .mg-ic .ic{--ic-p:#fff}
.mg-t{display:block;min-width:0;flex:1}
.mg-t b{display:block;font-size:16.5px;font-weight:700;font-stretch:85%;line-height:1.2}
.mg-t small{display:block;margin-top:4px;font-size:13px;line-height:1.4;color:#A9B2C3}
.mg-arr{flex:none;width:18px;height:18px;color:var(--blue-2);opacity:0;transform:translateX(10px);transition:opacity .3s,transform .4s var(--ease)}
.mg-i:hover .mg-arr,.mg-i:focus-visible .mg-arr{opacity:1;transform:none}
.mg-i--ghost{background:rgba(47,107,255,.09)}
.mg-i--ghost .mg-ic{background:transparent;box-shadow:inset 0 0 0 1.5px rgba(143,176,255,.4)}
.mega a.mg-i{padding:20px 22px}
@media(min-width:1100px) and (max-width:1240px){.mega-in{grid-template-columns:minmax(230px,.7fr) 2.6fr}.mg-i{padding:16px 14px;gap:12px}.mg-ic{width:44px;height:44px}.mg-ic .ic{width:28px;height:28px}.mg-t b{font-size:15px}.mg-t small{font-size:12px}}
@media(prefers-reduced-motion:reduce){.mega,.mg-i{transition:none!important;transform:none!important}}

/* ---------- DRAWER MENU (mobile) ---------- */
.oc-body{overflow:hidden}
.oc-views{position:relative;flex:1 1 auto;min-height:0;margin-top:clamp(10px,2.4vh,22px);overflow:hidden}
.oc-view{position:absolute;inset:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;visibility:hidden;opacity:0;transform:translateX(-104%);transition:transform .55s var(--ease-io),opacity .35s ease,visibility 0s .55s;padding-bottom:12px;scrollbar-width:none}
.oc-view::-webkit-scrollbar{display:none}
.oc-view.is-active{visibility:visible;opacity:1;transform:none;transition:transform .55s var(--ease-io),opacity .4s ease .05s,visibility 0s}
.oc-view.is-behind{visibility:visible;opacity:0;transform:translateX(26%);transition:transform .55s var(--ease-io),opacity .3s ease,visibility 0s .55s}
.oc-nav{margin-top:0;display:grid}
.oc-nav .big{display:flex;align-items:center;gap:16px;width:100%;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:clamp(28px,4.8vh,42px);font-weight:800;font-stretch:78%;line-height:1.1;letter-spacing:-.005em;text-align:start;color:#fff;transition:color .3s,padding .4s var(--ease)}
.oc-nav .big small{font-size:13px;font-weight:700;letter-spacing:.14em;color:var(--blue-2);min-width:26px;font-stretch:100%}
.oc-nav .big span{flex:1}
.oc-nav .big:hover,.oc-nav .big:focus-visible{color:var(--blue-3);padding-inline-start:12px}
.oc-go{flex:none;width:22px;height:22px;color:var(--blue-2);transition:transform .4s var(--ease)}
.oc-nav .big:hover .oc-go{transform:translateX(-6px)}
.ov-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:14px;padding:4px 0 14px;background:var(--ink)}
.ov-head h3{font-size:clamp(26px,4.4vh,34px);font-weight:800;font-stretch:78%;color:#fff;margin-inline-start:auto;margin-inline-end:auto;padding-inline-end:56px}
.ov-back{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 14px 0 16px;background:rgba(255,255,255,.07);font-weight:600;font-size:15px;color:#fff;clip-path:polygon(0 0,100% 0,100% 100%,10px 100%,0 calc(100% - 10px));transition:background .3s}
.ov-back .oc-go{width:18px;height:18px;transform:scaleX(-1)}
.ov-back:hover{background:var(--blue)}
.ov-hint{font-size:15px;color:#A9B2C3;margin:0 0 12px}
.ov-list{display:grid;gap:6px}
.ov-i{display:flex;align-items:center;gap:14px;padding:12px 14px;background:rgba(255,255,255,.05);color:#fff;opacity:0;transform:translateX(-22px);transition:background .3s}
.oc-view.is-active .ov-i{opacity:1;transform:none;transition:background .3s,opacity .5s ease calc(.22s + var(--i,0)*.045s),transform .6s var(--ease) calc(.22s + var(--i,0)*.045s)}
.ov-i:hover,.ov-i:focus-visible{background:rgba(47,107,255,.28)}
.ov-i .mg-ic{width:46px;height:46px}
.ov-i .mg-ic .ic{width:30px;height:30px}
.ov-i .mg-t b{font-size:17px}
.ov-i .mg-t small{font-size:12.5px}
.ov-i .oc-go{opacity:.7}
.ov-all{background:var(--blue);justify-content:space-between}
.ov-all .oc-go{color:#fff;opacity:1}
.ov-all:hover{background:var(--blue-d)}
.oc-foot{margin-top:0;flex:none;padding-top:14px;border-top:1px solid rgba(255,255,255,.08)}
@media(max-height:700px){.oc-nav .big{font-size:26px;padding:8px 0}.ov-i{padding:8px 12px}.ov-i .mg-ic{width:38px;height:38px}.ov-i .mg-t small{display:none}}
@media(prefers-reduced-motion:reduce){.oc-view,.ov-i{transition:none!important}}

/* hover-gap fix: nav items span the full header height so the pointer never leaves the <li> on its way to the mega panel */
@media(min-width:1100px){
  .hdr-in>nav{align-self:stretch;display:flex}
  .nav{align-items:stretch}
  .nav>li{display:flex;align-items:center}
  .nav>li.has-mega:hover::after{content:"";position:absolute;inset-inline:0;top:100%;height:14px}
}
