/* ============================================================
   Tec-iNfo — menú único (mega-menú + hamburguesa) para todas
   las páginas. Depende de los tokens de assets/styles.css.
   ============================================================ */

/* ticker superior */
.tn-ticker { background:#000; color:#f5f5f7; overflow:hidden; font-size:13px; white-space:nowrap; border-bottom:1px solid rgba(255,255,255,.08);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.tn-ticker__track { display:inline-flex; animation: tn-ticker 34s linear infinite; will-change:transform; }
.tn-ticker:hover .tn-ticker__track { animation-play-state: paused; }
.tn-ticker__item { display:inline-flex; align-items:center; gap:12px; padding:9px 22px; }
.tn-ticker__item b { color:#2997ff; font-weight:600; }
.tn-ticker__dot { width:4px; height:4px; border-radius:50%; background:rgba(255,255,255,.4); }
@keyframes tn-ticker { to { transform: translateX(-50%); } }

/* nav */
.tn { position:sticky; top:0; z-index:300; background:rgba(255,255,255,.82); backdrop-filter:saturate(180%) blur(22px); -webkit-backdrop-filter:saturate(180%) blur(22px); border-bottom:1px solid rgba(0,0,0,.07); transition:box-shadow .3s var(--ease), background .3s var(--ease); }
.tn.scrolled { box-shadow:0 6px 24px -12px rgba(0,0,0,.18); background:rgba(255,255,255,.92); }
.tn__in { max-width:1200px; margin:0 auto; padding:0 22px; height:60px; display:flex; align-items:center; gap:20px; }
.tn__logo { display:flex; align-items:center; gap:10px; font-size:19px; font-weight:600; letter-spacing:-.02em; color:var(--text); white-space:nowrap; }
.tn__logo:hover { text-decoration:none; }
.tn__logo img { width:30px; height:30px; }
.tn__logo b { font-weight:700; }
.tn__nav { display:flex; align-items:center; gap:4px; margin-left:8px; }
.tn__item { font-family:inherit; font-size:14.5px; color:rgba(29,29,31,.82); font-weight:450; background:transparent; border:0; cursor:pointer; padding:8px 13px; border-radius:9px; display:inline-flex; align-items:center; gap:6px; letter-spacing:-.01em; transition:background .2s var(--ease), color .2s var(--ease); text-decoration:none; }
.tn__item:hover { color:var(--text); background:rgba(0,0,0,.05); text-decoration:none; }
.tn__item.open { color:var(--blue); background:rgba(0,113,227,.08); }
.tn__chev { transition:transform .25s var(--ease); }
.tn__item.open .tn__chev { transform:rotate(180deg); }
.tn__spacer { flex:1; }
.tn__call { font-size:14px; font-weight:500; color:var(--text); }
.tn__call:hover { color:var(--blue-link); text-decoration:none; }
.tn__wa { font-size:14px; font-weight:500; color:#fff; background:var(--green); padding:9px 16px; border-radius:999px; transition:transform .2s var(--ease), filter .2s var(--ease); }
.tn__wa:hover { text-decoration:none; transform:translateY(-1px); filter:brightness(1.05); }
.tn__burger { display:none; width:42px; height:42px; border:0; background:transparent; cursor:pointer; border-radius:10px; align-items:center; justify-content:center; margin-left:auto; }
.tn__burger:hover { background:rgba(0,0,0,.05); }
.tn__burger span { display:block; width:20px; height:2px; background:var(--text); border-radius:2px; position:relative; transition:background .2s; }
.tn__burger span::before, .tn__burger span::after { content:""; position:absolute; left:0; width:20px; height:2px; background:var(--text); border-radius:2px; transition:transform .3s var(--ease); }
.tn__burger span::before { top:-6px; } .tn__burger span::after { top:6px; }
.tn__burger.x span { background:transparent; }
.tn__burger.x span::before { transform:translateY(6px) rotate(45deg); }
.tn__burger.x span::after { transform:translateY(-6px) rotate(-45deg); }

/* mega */
.tn-mega { position:absolute; left:0; right:0; top:100%; box-sizing:border-box; max-width:100%; background:rgba(255,255,255,.95); backdrop-filter:saturate(180%) blur(26px); -webkit-backdrop-filter:saturate(180%) blur(26px); border-bottom:1px solid rgba(0,0,0,.08); box-shadow:0 24px 50px -20px rgba(0,0,0,.22); opacity:0; transform:translateY(-10px); pointer-events:none; transition:opacity .26s var(--ease), transform .26s var(--ease); }
.tn-mega.show { opacity:1; transform:none; pointer-events:auto; }
.tn-mega__in { max-width:1200px; margin:0 auto; padding:18px 22px 20px; display:grid; grid-template-columns:repeat(4,1fr); gap:2px 22px; box-sizing:border-box; }
.tn-mega__col h5 { font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:var(--text-3); margin:0 0 4px; padding:0 10px; }
.tn-link { display:flex; align-items:flex-start; gap:11px; padding:7px 10px; border-radius:11px; transition:background .18s var(--ease); }
.tn-link:hover { background:rgba(0,113,227,.07); text-decoration:none; }
.tn-ico { flex:none; width:30px; height:30px; display:grid; place-items:center; }
.tn-ico svg { width:23px; height:23px; stroke-width:1.5; }
.tn-txt { display:flex; flex-direction:column; min-width:0; }
.tn-t { display:block; font-size:14px; font-weight:600; color:var(--text); line-height:1.25; }
.tn-d { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:12px; color:var(--text-3); margin-top:2px; line-height:1.3; }
.tn-mega__foot { border-top:1px solid rgba(0,0,0,.07); max-width:1200px; margin:0 auto; padding:13px 32px; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.tn-mega__foot span { font-size:13.5px; color:var(--text-2); }
.tn-mega__foot a { font-size:13.5px; font-weight:500; color:var(--blue-link); margin-left:22px; }

/* drawer */
.tn-scrim { position:fixed; inset:0; z-index:1200; background:rgba(0,0,0,.4); opacity:0; pointer-events:none; transition:opacity .3s var(--ease); backdrop-filter:blur(2px); }
.tn-scrim.show { opacity:1; pointer-events:auto; }
.tn-drawer { position:fixed; top:0; right:0; bottom:0; z-index:1300; width:min(380px,88vw); background:#fff; box-shadow:-20px 0 60px -20px rgba(0,0,0,.4); transform:translateX(100%); transition:transform .36s var(--ease); display:flex; flex-direction:column; overflow-y:auto; }
.tn-drawer.show { transform:none; }
.tn-drawer__head { display:flex; align-items:center; justify-content:space-between; padding:16px 18px; border-bottom:1px solid var(--hairline); position:sticky; top:0; background:#fff; z-index:2; }
.tn-drawer__head span { font-size:12px; text-transform:uppercase; letter-spacing:.08em; color:var(--text-3); }
.tn-drawer__head .tn-drawer__brand { display:flex; align-items:center; gap:9px; }
.tn-drawer__head .tn-drawer__brand img { width:26px; height:26px; }
.tn-drawer__head .tn-drawer__brand span { font-size:17px; font-weight:600; letter-spacing:-.02em; text-transform:none; color:var(--text); }
.tn-drawer__head .tn-drawer__brand b { font-weight:700; }
.tn-drawer__head .tn-drawer__brand:hover { text-decoration:none; }
.tn-drawer__close { width:38px; height:38px; border:0; background:rgba(0,0,0,.05); border-radius:10px; font-size:20px; cursor:pointer; color:var(--text); }
.tn-drawer__body { padding:10px 12px 20px; }
.tn-drawer .tn-link { padding:11px 12px; }
.tn-drawer .tn-ico { width:34px; height:34px; }
.tn-drawer .tn-ico svg { width:26px; height:26px; }
.tn-drawer .tn-t { font-size:16px; }
.tn-drawer__sec { font-size:11px; text-transform:uppercase; letter-spacing:.07em; color:var(--text-3); padding:16px 14px 6px; }
.tn-drawer__cta { display:flex; gap:10px; padding:14px; border-top:1px solid var(--hairline); position:sticky; bottom:0; background:#fff; }
.tn-drawer__cta a { flex:1; text-align:center; }

@media (max-width:1000px) {
  .tn__nav, .tn__spacer, .tn__call, .tn__wa { display:none; }
  .tn__burger { display:flex; } .tn { background:rgba(255,255,255,.97); backdrop-filter:none; -webkit-backdrop-filter:none; } .tn-mega { background:#fff; backdrop-filter:none; -webkit-backdrop-filter:none; }
}
@media (prefers-reduced-motion: reduce) {
  .tn-ticker__track { animation:none !important; }
  .tn-mega, .tn-drawer, .tn-scrim { transition:none !important; }
}
