/* ===== MEGA NAVIGATION — desktop only (hidden < 1080px) ===== */
.desk-nav{display:flex;align-items:center;gap:2px}
.mega-nav-wrap{position:relative}

.mega-trigger{
  display:flex;align-items:center;gap:6px;cursor:pointer;white-space:nowrap;
  font-weight:500;font-size:.93rem;padding:10px 14px;border-radius:9px;
  transition:background .25s,color .25s;background:none;border:none;
  font-family:var(--f-body);color:rgba(255,255,255,.92);text-decoration:none;
}
.header.scrolled .mega-trigger,
.header.solid    .mega-trigger{color:var(--ink)}
.mega-trigger:hover{background:rgba(255,255,255,.14);color:#fff}
.header.scrolled .mega-trigger:hover,
.header.solid    .mega-trigger:hover{background:var(--sky);color:var(--blue)}
.mega-trigger.active{color:#fff}
.header.scrolled .mega-trigger.active,
.header.solid    .mega-trigger.active{color:var(--blue)}
.mega-trigger svg{transition:transform .3s;flex-shrink:0}
.mega-trigger.open svg{transform:rotate(180deg)}

/* ---- Panel ---- */
.mega-panel{
  position:absolute;top:calc(100% + 12px);left:50%;
  transform:translateX(-50%) translateY(-8px);
  background:#fff;border:1px solid var(--line);border-radius:20px;
  box-shadow:0 24px 64px rgba(26,35,64,.16);padding:26px;
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .28s var(--ease),transform .28s var(--ease),visibility .28s;
  z-index:200;
}
.mega-panel.open{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.mega-panel-wide{width:min(940px,calc(100vw - 48px));left:0;transform:translateX(0) translateY(-8px)}
.mega-panel-wide.open{transform:translateX(0) translateY(0)}
.mega-panel-mid{width:min(720px,calc(100vw - 48px))}
.mega-panel-sm{width:min(560px,calc(100vw - 48px))}

.mega-inner{display:flex;gap:22px;align-items:flex-start}
.mega-main{flex:1;min-width:0}
.mega-cols{display:flex;flex:1;min-width:0}
.mega-col{flex:1;min-width:0;padding:0 16px;border-right:1px solid var(--line)}
.mega-col:first-child{padding-left:0}
.mega-col:last-child{border-right:none;padding-right:0}
.mega-col-title{
  font-size:.68rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  color:var(--blue);margin-bottom:12px;display:block;
}
.mega-col ul{list-style:none;display:grid;gap:1px;margin:0;padding:0}
.mega-col ul li a{
  display:block;padding:8px 10px;border-radius:9px;
  font-size:.86rem;color:var(--ink);font-weight:500;
  transition:background .2s,color .2s;line-height:1.35;
}
.mega-col ul li a:hover{background:var(--sky);color:var(--blue)}

/* ---- CTA sidebar ---- */
.mega-cta{
  width:210px;flex-shrink:0;padding:20px;
  background:linear-gradient(150deg,#eef5fd,#e2edfa);border:1px solid #c9dcf5;
  border-radius:14px;display:flex;flex-direction:column;gap:9px;
}
.mega-cta-badge{
  display:inline-flex;align-items:center;font-size:.68rem;
  font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  color:var(--blue);background:#fff;padding:5px 10px;border-radius:20px;
  border:1px solid #c9dcf5;width:-moz-fit-content;width:fit-content;
}
.mega-cta h4{font-size:.98rem;color:var(--navy);line-height:1.3;margin:0}
.mega-cta p{font-size:.79rem;color:var(--slate);line-height:1.5;margin:0}
.mega-cta .btn-orange{
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--blue);color:#fff;font-weight:700;font-size:.85rem;
  padding:11px 16px;border-radius:40px;border:none;cursor:pointer;
  transition:background .3s,transform .3s;margin-top:4px;text-align:center;
}
.mega-cta .btn-orange:hover{background:var(--navy);transform:translateY(-2px)}

.mega-footer{
  margin-top:16px;padding-top:14px;border-top:1px solid var(--line);
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  font-size:.8rem;color:var(--slate);flex-wrap:wrap;
}
.mega-footer a{color:var(--blue);font-weight:600}
.mega-footer a:hover{text-decoration:underline}

/* ---- Free-zone grid inside panel ---- */
.fz-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.fz-item{display:block;padding:11px 13px;border-radius:11px;transition:background .2s}
.fz-item:hover{background:var(--sky)}
.fz-item h5{font-size:.88rem;color:var(--navy);font-weight:600;margin:0 0 3px}
.fz-item p{font-size:.76rem;color:var(--slate);line-height:1.4;margin:0}
.fz-item:hover h5{color:var(--blue)}

/* ---- Click-away overlay ---- */
.mega-overlay{position:fixed;inset:0;z-index:199;display:none}
.mega-overlay.active{display:block}

/* ===== Hide entire desktop mega system on tablet/mobile ===== */
@media (max-width:1079px){
  .desk-nav{display:none !important}
  .mega-panel{display:none !important}
  .mega-overlay{display:none !important}
}
