/* ==========================================================================
   layout.css — container, nav, services-menu, footer
   ========================================================================== *//* ---------- Container ---------- */.nt-container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-pad)}/* ==========================================================================
   .nt-nav — top navigation (64px)
   ========================================================================== */.nt-nav{position:sticky;top:0;z-index:40;background:var(--header-accent);border-bottom:none;backdrop-filter:saturate(1.2);transition:transform 280ms var(--ease-out);will-change:transform}.nt-nav.is-hidden{transform:translateY(-100%)}@media (prefers-reduced-motion: reduce){.nt-nav{transition:none}.nt-nav.is-hidden{transform:none}}.nt-nav__inner{display:flex;align-items:center;gap:var(--space-6);height:var(--nav-height)}/* Brand */.nt-nav__brand{display:flex;align-items:center;gap:var(--space-3);color:var(--header-accent-contrast);text-decoration:none}.nt-nav__brand:hover{text-decoration:none;color:var(--header-accent-contrast)}.nt-nav__logo{display:block;height:28px;width:auto;max-width:180px;object-fit:contain}.nt-nav__wordmark{font-family:var(--font-display);font-size:20px;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:var(--header-accent-contrast)}/* Primary links (right side) */.nt-nav__links{margin-left:auto;display:flex;align-items:center;gap:var(--space-2);--nt-nav-control-border:1px solid rgba(255, 255, 255, 0.68)}.nt-nav__link{padding:var(--space-1) var(--space-3);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;color:var(--header-accent-contrast);border-radius:var(--radius-sm);transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.nt-nav__link:hover,.nt-nav__link:focus-visible{color:var(--header-accent-contrast);text-decoration:none;background:rgba(255, 255, 255, 0.15)}/* Cada ação de acesso tem contorno próprio e respiro após o idioma. */.nt-nav__guest-actions{display:inline-flex;align-items:center;gap:var(--space-2);margin-left:var(--space-2)}.nt-nav__guest-actions .nt-nav__link{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:3px 11px;border:var(--nt-nav-control-border);border-radius:9px;background:rgba(255, 255, 255, 0.035)}.nt-nav__guest-actions .nt-nav__link:hover,.nt-nav__guest-actions .nt-nav__link:focus-visible{background:rgba(255, 255, 255, 0.15)}/* Chavinha de idioma (PT / EN) — includes/lang-switcher.tpl.
   Classe própria de propósito: .nt-nav__link é escondida em ≤768px e a
   chavinha precisa continuar visível. Espelhada em orderform-overrides.css,
   já que os orderforms não herdam theme.css. */.nt-lang-switch{display:inline-flex;align-items:center;gap:2px;padding:2px;border:var(--nt-nav-control-border);border-radius:var(--radius-sm);background:rgba(255, 255, 255, 0.035)}.nt-lang-switch__opt{padding:2px var(--space-2);font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;letter-spacing:0.04em;color:var(--header-accent-contrast);border-radius:calc(var(--radius-sm) - 2px);transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.nt-lang-switch__opt:hover{color:var(--header-accent-contrast);text-decoration:none;background:rgba(255, 255, 255, 0.18)}/* Ativo: branco sólido + --accent-on-light (9.27:1, AAA).
   var(--accent) aqui daria 4.05:1 e reprovaria em AA. */.nt-lang-switch__opt--active,.nt-lang-switch__opt--active:hover{color:var(--accent-on-light);background:#fff}.nt-lang-switch__opt:focus-visible{outline:2px solid #fff;outline-offset:2px}/* Cart pill */.nt-nav__cart{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border:var(--nt-nav-control-border);border-radius:var(--radius-pill);background:rgba(255, 255, 255, 0.035);font-family:var(--font-body);font-size:var(--text-xs);font-weight:500;line-height:1.2;color:var(--header-accent-contrast);transition:border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.nt-nav__cart:hover{border-color:#ffffff;color:#ffffff;text-decoration:none;background:rgba(255, 255, 255, 0.12)}.nt-nav__cart-count{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;color:#ffffff;min-width:1.2em;text-align:center}/* Hamburger (mobile) */.nt-nav__hamburger{display:none;width:40px;height:40px;align-items:center;justify-content:center;color:var(--header-accent-contrast);border-radius:var(--radius-sm);transition:background var(--duration-fast) var(--ease-out)}.nt-nav__hamburger:hover{background:rgba(255, 255, 255, 0.15)}.nt-nav__hamburger svg{width:22px;height:22px}.nt-nav-noscript{background:var(--header-accent);border-top:1px solid rgba(255, 255, 255, 0.24)}.nt-nav-noscript__inner{display:flex;flex-wrap:wrap;gap:var(--space-2);padding-block:var(--space-2)}.nt-nav-noscript__link{display:inline-flex;flex:1 1 180px;align-items:center;justify-content:center;min-height:44px;padding:var(--space-2) var(--space-3);border:1px solid rgba(255, 255, 255, 0.68);border-radius:var(--radius-sm);background:rgba(255, 255, 255, 0.035);color:var(--header-accent-contrast);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;line-height:1.2;text-align:center;transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.nt-nav-noscript__link:hover,.nt-nav-noscript__link:focus-visible{color:var(--header-accent-contrast);text-decoration:none;background:rgba(255, 255, 255, 0.15)}/* ==========================================================================
   .nt-services-menu — secondary nav (48px)
   ========================================================================== */.nt-services-menu{background:var(--deep);border-bottom:1px solid var(--border)}.nt-services-menu__inner{display:flex;align-items:center;gap:var(--space-6);height:var(--services-menu-height);overflow:visible}.nt-services-menu__link{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) 0;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;color:var(--text-2);text-transform:uppercase;letter-spacing:0.04em;white-space:nowrap;border-bottom:2px solid transparent;transition:color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.nt-services-menu__link:hover{color:var(--text-1);text-decoration:none}.nt-services-menu__link.is-active{color:var(--text-1);border-bottom-color:var(--header-accent)}.nt-services-menu__caret{width:10px;height:10px;opacity:0.6}.nt-services-menu__caret{transition:transform var(--duration-fast) var(--ease-out)}.nt-services-menu__toggle[aria-expanded="true"] .nt-services-menu__caret{transform:rotate(180deg)}.nt-services-menu__toggle{display:inline-flex;align-items:center;justify-content:center;width:28px;min-height:28px;height:100%;padding:0;border:0;border-radius:var(--radius-sm);color:var(--text-2);background:transparent;cursor:pointer;transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.nt-services-menu__toggle:hover{color:var(--text-1);background:var(--accent-soft)}.nt-services-menu__toggle:focus-visible{outline:2px solid var(--accent-on-light, var(--accent));outline-offset:2px}@media (any-pointer: coarse){.nt-services-menu__inner{min-height:44px}.nt-services-menu__toggle{width:44px;min-height:44px}}/* Dropdown (Telefonia: NT-Fone + NT Móvel) */.nt-services-menu__group{position:relative;display:inline-flex;align-items:center;height:100%}.nt-services-menu__dropdown{position:absolute;top:100%;left:0;min-width:180px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 4px 16px rgba(0, 0, 0, 0.08);padding:var(--space-2) 0;display:flex;flex-direction:column;gap:var(--space-1);opacity:0;visibility:hidden;transform:scale(var(--dropdown-pre-scale, 0.97));transform-origin:top left;transition:opacity var(--dropdown-close-dur, 150ms) var(--dropdown-ease, cubic-bezier(0.16, 1, 0.3, 1)),transform var(--dropdown-close-dur, 150ms) var(--dropdown-ease, cubic-bezier(0.16, 1, 0.3, 1)),visibility 0s linear var(--dropdown-close-dur, 150ms);z-index:30}.nt-services-menu__group:hover .nt-services-menu__dropdown,.nt-services-menu__group:focus-within .nt-services-menu__dropdown,.nt-services-menu__group.is-open .nt-services-menu__dropdown{opacity:1;visibility:visible;transform:scale(1);transition:opacity var(--dropdown-open-dur, 250ms) var(--dropdown-ease, cubic-bezier(0.16, 1, 0.3, 1)),transform var(--dropdown-open-dur, 250ms) var(--dropdown-ease, cubic-bezier(0.16, 1, 0.3, 1)),visibility 0s linear 0s}.nt-services-menu__dropdown a{display:flex;min-height:44px;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-2);text-decoration:none;white-space:nowrap;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.nt-svc-ico{width:16px;height:16px;flex:0 0 16px;color:var(--text-3);transition:color var(--duration-fast) var(--ease-out)}.nt-services-menu__dropdown a:hover .nt-svc-ico,.nt-services-menu__dropdown a:focus-visible .nt-svc-ico,.nt-services-menu__dropdown a[aria-current="page"] .nt-svc-ico{color:currentColor}.nt-services-menu__group.is-escape-closed .nt-services-menu__dropdown,.nt-services-menu__group.is-enhanced:not(.is-open) .nt-services-menu__dropdown{opacity:0;visibility:hidden;transform:scale(var(--dropdown-pre-scale, 0.97));transition:none}.nt-services-menu__group.is-enhanced.is-open .nt-services-menu__dropdown{/* O destino precisa estar visível no mesmo evento que transfere o foco. */transition:opacity var(--dropdown-open-dur, 250ms) var(--dropdown-ease, cubic-bezier(0.16, 1, 0.3, 1)),transform var(--dropdown-open-dur, 250ms) var(--dropdown-ease, cubic-bezier(0.16, 1, 0.3, 1))}/* Fechamento por clique (no próprio toggle ou fora do menu) anima de volta ao repouso.
   Escape, saída do ponteiro, Tab e troca para outro grupo seguem secos — sem dois
   painéis sobrepostos (2ebd11d). A classe é posta por nav.js. */.nt-services-menu__group.is-enhanced.is-soft-close:not(.is-open) .nt-services-menu__dropdown{pointer-events:none;transition:opacity var(--dropdown-close-dur, 150ms) var(--dropdown-ease, cubic-bezier(0.16, 1, 0.3, 1)),transform var(--dropdown-close-dur, 150ms) var(--dropdown-ease, cubic-bezier(0.16, 1, 0.3, 1)),visibility 0s linear var(--dropdown-close-dur, 150ms)}@media (prefers-reduced-motion: reduce){.nt-services-menu__dropdown,.nt-services-menu__group .nt-services-menu__dropdown{transition:none !important}}.nt-services-menu__dropdown a[aria-current="page"]{color:var(--accent-on-light, var(--accent));background:var(--accent-soft);font-weight:600}.nt-services-menu__dropdown a:hover,.nt-services-menu__dropdown a:focus-visible{background:var(--accent-soft);color:var(--accent)}/* ==========================================================================
   .nt-mega — Produtos mega-menu (3 colunas)
   ========================================================================== */.nt-services-menu__group--mega{position:relative}/* Trigger "Produtos" — design pede sentence case, não a UPPERCASE herdada de
   `.nt-services-menu__link`; `.nt-services-menu__group--mega > .nt-services-menu__link`
   (0,2,0) vence `.nt-services-menu__link` sozinho (0,1,0). */.nt-services-menu__group--mega > .nt-services-menu__link{text-transform:none;letter-spacing:normal;font-size:14px;font-weight:500}.nt-services-menu__dropdown.nt-mega{width:640px;max-width:calc(100vw - 32px);left:50%;translate:-50% 0;transform-origin:top center;padding:var(--space-4);display:grid;grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));gap:var(--space-4) var(--space-5);box-shadow:0 4px 24px rgba(0, 0, 0, 0.12);border-radius:var(--radius-lg);box-sizing:border-box}.nt-mega__col{display:flex;flex-direction:column;gap:2px;min-width:0}/* Reset genérico de ul/li do base.css (`ul,ol{margin;padding-left}` e
   `ul li,ol li{margin-bottom}`) vaza pra dentro do painel — escopar sob
   `.nt-mega` (2 classes / 1 classe+1 elemento) garante especificidade maior
   que essas regras (1 elemento / 2 elementos) sem precisar de !important. */.nt-mega ul,.nt-mega li{list-style:none;margin:0;padding:0}.nt-mega__col > ul{display:flex;flex-direction:column;gap:2px}.nt-mega__label{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-3);padding:var(--space-1) var(--space-3) var(--space-2);margin:0}/* `.nt-services-menu__dropdown a` (0,1,1) senão vence `.nt-mega__item` (0,1,0)
   sozinho — escopar com `.nt-mega .nt-mega__item` (0,2,0) resolve. */.nt-mega .nt-mega__item{display:flex;align-items:center;gap:10px;padding:8px 12px;min-height:0;border-radius:var(--radius-sm);color:var(--text-1);font-size:14px;text-decoration:none;transition:background var(--duration-fast) var(--ease-out)}.nt-mega .nt-mega__item:hover,.nt-mega .nt-mega__item:focus-visible{background:#f5f5f5}.nt-mega .nt-mega__item[aria-current="page"] .nt-mega__name,.nt-mega .nt-mega__item.is-active .nt-mega__name{color:var(--accent-on-light, var(--accent));font-weight:600}.nt-mega__mark{width:8px;height:8px;flex:0 0 8px;margin-top:5px;display:flex;align-items:center;justify-content:center}.nt-mega--logos .nt-mega__mark{width:44px;height:30px;flex-basis:44px;margin-top:0}.nt-mega__logo{width:44px;height:30px;object-fit:contain}.nt-mega__dot{width:8px;height:8px;border-radius:50%;flex:0 0 8px;margin-top:0;background:var(--text-3)}.nt-mega__dot[data-brand="nt-fiber"]{background:#f48634}.nt-mega__dot[data-brand="ip-movel"],.nt-mega__dot[data-brand="nt-box"]{background:#0d7585}.nt-mega__dot[data-brand="nt-host"]{background:#3e4095}.nt-mega__dot[data-brand="nt-cloud"]{background:#006da3}.nt-mega__dot[data-brand="backupon"]{background:#006da3}.nt-mega__dot[data-brand="nt-mail"]{background:#ff7d24}.nt-mega__dot[data-brand="nt-fone"]{background:#317980}.nt-mega__dot[data-brand="nt-movel"]{background:#7c3aed}.nt-mega__text{display:flex;flex-direction:column;gap:1px;min-width:0}.nt-mega__name{font-weight:500}.nt-mega__desc{font-size:11px;color:var(--text-3)}.nt-mega .nt-mega__sub{padding-left:34px;margin:2px 0 6px;display:flex;flex-direction:column;gap:1px}.nt-mega--logos .nt-mega__sub{padding-left:70px}.nt-mega .nt-mega__sublink{display:block;padding:5px 10px;min-height:0;border-radius:var(--radius-sm);font-size:12px;color:var(--text-3);text-decoration:none;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.nt-mega .nt-mega__sublink:hover,.nt-mega .nt-mega__sublink:focus-visible{background:#f5f5f5;color:var(--text-1)}.nt-mega .nt-mega__sublink[aria-current="page"]{color:var(--accent-on-light, var(--accent));font-weight:600;background:var(--accent-soft)}.nt-drawer__item--nested a{min-height:44px;margin-left:var(--space-4);padding-left:var(--space-6);color:var(--text-2);border-left:2px solid var(--accent-border)}.nt-drawer__item--nested a[aria-current="page"]{color:var(--accent-on-light, var(--accent));background:var(--accent-soft);font-weight:600}/* ==========================================================================
   .nt-footer
   ========================================================================== */.nt-footer{background:#EEEEEE;border-top:1px solid var(--border);padding:var(--space-10) 0 var(--space-6);color:var(--text-2)}.nt-footer__grid{display:grid;grid-template-columns:1.5fr 1.4fr 1fr;gap:var(--space-10);margin-bottom:var(--space-8)}/* Coluna da marca: logo, slogan e telefones ocupam a linha inteira; redes
   sociais e selo dividem a última linha. */.nt-footer__brandcol{display:flex;flex-wrap:wrap;align-items:center;column-gap:var(--space-4)}.nt-footer__brandcol > picture,.nt-footer__slogan,.nt-footer__contacts{flex:0 0 100%}.nt-footer__brandcol .nt-footer__logo{height:48px;width:auto;margin-bottom:var(--space-4)}.nt-footer__slogan{font-family:var(--font-display);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:0.06em;color:var(--text-2);margin:var(--space-2) 0 var(--space-4)}.nt-footer__contacts{display:grid;grid-template-columns:repeat(2, max-content);gap:var(--space-2) var(--space-6);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-3)}.nt-footer__contacts b{font-family:var(--font-mono);color:var(--text-1);font-weight:500;margin-right:var(--space-2)}.nt-footer__heading{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;text-transform:uppercase;letter-spacing:0.14em;color:var(--text-3);margin:0 0 var(--space-4)}.nt-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-2)}/* base.css dá margin-bottom de 8 px a todo <li> (listas de texto). Aqui a
   lista já tem gap; sem zerar, cada link ocupava 41 px em vez de ~28. */.nt-footer ul li{margin:0;font-size:var(--text-sm);line-height:1.4}/* Lista longa (Produtos) em duas colunas, para o rodapé não crescer a cada
   produto novo. */.nt-footer__links--cols{grid-template-columns:repeat(2, minmax(0, 1fr));column-gap:var(--space-6)}.nt-footer ul a{font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-2);text-decoration:none}.nt-footer ul a:hover{color:var(--accent)}.nt-footer ul.nt-footer__sub{margin-top:var(--space-2);padding-left:var(--space-4);gap:var(--space-1)}.nt-footer ul.nt-footer__sub a{display:inline-flex;align-items:center;min-height:32px;font-size:var(--text-xs);color:var(--text-3)}.nt-footer ul.nt-footer__sub a:hover{color:var(--accent)}.nt-footer__social{display:flex;gap:var(--space-2);margin-top:var(--space-4)}.nt-footer__social a{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-2);transition:transform 120ms var(--ease-out, ease-out),border-color 120ms var(--ease-out, ease-out),color 120ms var(--ease-out, ease-out),box-shadow 120ms var(--ease-out, ease-out)}.nt-footer__social a:hover{border-color:var(--accent-border);color:var(--accent);box-shadow:var(--shadow-glow)}.nt-footer__social a:active,.nt-footer__social a.nt-social--pulse{transform:scale(0.92)}.nt-footer__social a:focus-visible{outline:2px solid var(--accent-on-light, var(--accent));outline-offset:2px}.nt-footer__social svg{width:16px;height:16px;pointer-events:none}@media (prefers-reduced-motion: reduce){.nt-footer__social a{transition:none}.nt-footer__social a:active,.nt-footer__social a.nt-social--pulse{transform:none}}.nt-footer__bottom{border-top:1px solid var(--border);padding-top:var(--space-5);display:flex;justify-content:space-between;align-items:center;color:var(--text-3)}.nt-footer__bottom > span{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:0.04em;color:var(--text-3)}.nt-footer__bottom-legal{display:flex;gap:var(--space-6);flex-wrap:wrap;align-items:center;font-family:var(--font-body);font-size:var(--text-xs);text-transform:none;letter-spacing:normal}.nt-footer__bottom-legal a,.nt-footer__bottom-legal button{color:var(--accent-on-light, var(--accent));text-transform:none;letter-spacing:normal;transition:color var(--duration-fast) var(--ease-out)}.nt-footer__bottom-legal a:hover,.nt-footer__bottom-legal button:hover{color:var(--accent)}.nt-footer__cookie-prefs{font:inherit;text-decoration:underline;text-underline-offset:3px}.nt-footer__cookie-prefs:hover{text-decoration:underline}/* ==========================================================================
   Client area — wrapper de 2 colunas (sidebar + main)
   ========================================================================== */.nt-clientarea-layout{display:grid;grid-template-columns:280px minmax(0, 1fr);gap:var(--space-6);align-items:start;margin-block:var(--space-8)}/* Área PÚBLICA (visitante deslogado): submitticket.php não tem sidebar
   (sidebar.tpl é {if $loggedin}), então o único filho do grid caía na coluna
   fixa de 280px e o formulário ficava espremido. O modifier --public é aplicado
   SÓ no ramo {if !$loggedin} dos templates de ticket, então a ÁREA LOGADA fica
   100% intacta (esta classe não existe em nenhuma rota logada). Coluna única
   centralizada (≈ largura da coluna de conteúdo logada). */.nt-clientarea-layout--public{grid-template-columns:minmax(0, 1fr);max-width:920px;margin-inline:auto}/* ==========================================================================
   Responsivo
   ========================================================================== */@media (max-width: 1024px){.nt-footer__grid{grid-template-columns:1fr 1fr}.nt-footer__brandcol{grid-column:1/-1}.nt-clientarea-layout{grid-template-columns:1fr}/* Mobile: main primeiro, sidebar embaixo */.nt-clientarea-layout > #main-content{order:1}.nt-clientarea-layout > .nt-sidebar{order:2}/* Reset sticky/max-height da sidebar — scope p/ vencer .nt-sidebar base de components.css (mesmo specificity, mas components.css carrega depois). Só dentro da clientarea-layout — não afeta affiliates/upgrade. */.nt-clientarea-layout > .nt-sidebar{position:static;top:auto;max-height:none;overflow-y:visible}}@media (max-width: 768px){.nt-nav__links .nt-nav__link{display:none}.nt-nav__guest-actions{display:none}.nt-nav__hamburger{display:inline-flex}.nt-services-menu{display:none}/* A chavinha continua visível no mobile (não é .nt-nav__link): é o único
     ponto de troca de idioma, e some no drawer ficaria escondida demais.
     Encolhe para caber ao lado de carrinho + hamburguer em telas estreitas. */.nt-lang-switch{padding:1px}.nt-lang-switch__opt{display:inline-flex;align-items:center;justify-content:center;min-height:32px;min-width:32px;padding:2px 6px;letter-spacing:0}.nt-footer__grid{grid-template-columns:1fr;gap:var(--space-8)}.nt-footer__bottom{flex-direction:column;gap:var(--space-3);text-align:center}/* Header compacto no mobile: encolhe logo, esconde texto "Carrinho" e reduz hamburguer */:root{--nav-height:48px}.nt-nav__logo{height:32px;max-width:130px}.nt-nav__cart{padding:var(--space-2) var(--space-3);gap:var(--space-2)}.nt-nav__cart-text{display:none}.nt-nav__hamburger{width:36px;height:36px}.nt-nav__hamburger svg{width:20px;height:20px}}/* Soluções fica visualmente no header principal: o catálogo continua na mesma
   árvore DOM para o drawer mobile e para o foco/teclado do menu existente. */@media (min-width: 769px){.nt-services-menu{position:absolute;inset:0 0 auto;z-index:45;height:var(--nav-height);background:transparent;border:0;pointer-events:none}.nt-services-menu__inner{height:var(--nav-height);justify-content:flex-end;pointer-events:none}.nt-services-menu__group--mega{height:var(--nav-height);/* Mantém um intervalo visual claro antes do seletor de idioma e conta. */margin-right:calc(clamp(21.5rem, 36vw, 25rem) + var(--nt-auth-menu-offset, 0px));pointer-events:auto}.nt-services-menu__group--authenticated{--nt-auth-menu-offset:36px}.nt-services-menu__group--mega > .nt-services-menu__link{color:var(--header-accent-contrast);border-bottom:0;/* repete color/border-color da base: este transition a substitui */transition:color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out),border-radius var(--duration-fast) var(--ease-out)}.nt-services-menu__group--mega > .nt-services-menu__link:hover,.nt-services-menu__group--mega > .nt-services-menu__link:focus-visible{color:var(--header-accent-contrast);background:rgba(255,255,255,.15);border-radius:var(--radius-sm)}}@media (min-width: 1200px){.nt-services-menu__group--mega{margin-right:calc(clamp(21.5rem, 36vw, 25rem) - 28px + var(--nt-auth-menu-offset, 0px))}}@media (min-width: 769px) and (max-width: 950px){.nt-services-menu__group--mega{margin-right:calc(clamp(21.5rem, 36vw, 25rem) + 28px + var(--nt-auth-menu-offset, 0px))}}@media (min-width: 951px) and (max-width: 1000px){.nt-services-menu__group--mega{margin-right:calc(clamp(21.5rem, 36vw, 25rem) + 18px + var(--nt-auth-menu-offset, 0px))}}@media (min-width: 1001px) and (max-width: 1199px){.nt-services-menu__group--mega{margin-right:calc(368px + var(--nt-auth-menu-offset, 0px))}}/* Largura real dos controles medida por nav.js; vence as estimativas acima. */@media (min-width: 769px){.nt-services-menu[style*="--nt-services-reserve"] .nt-services-menu__group--mega{margin-right:calc(var(--nt-services-reserve) + var(--space-3, 12px))}}/* Header clássico (chave "Soluções" desligada no NT Tema): volta a barra própria
   abaixo do header e esconde o mega-menu, que fica no DOM só para o drawer mobile. */@media (min-width: 769px){.nt-services-menu--classic{position:relative;inset:auto;z-index:30;height:auto;background:var(--deep);border-bottom:1px solid var(--border);pointer-events:auto}.nt-services-menu--classic .nt-services-menu__inner{height:var(--services-menu-height);justify-content:flex-start;pointer-events:auto}.nt-services-menu--classic .nt-services-menu__group--mega{display:none}/* Aviso de contrato (z 40) vem logo depois e cobria os dropdowns da barra (z 30). */.nt-services-menu--classic ~ .nt-contract-banner{z-index:20}}/* Dropdown de uma categoria no header clássico: mesma lista do Soluções, uma coluna. */.nt-services-menu__dropdown.nt-mega.nt-mega--single{width:300px;left:0;translate:none;transform-origin:top left;grid-template-columns:1fr;padding:var(--space-2)}.nt-mega--single > ul{display:flex;flex-direction:column;gap:2px}/* Foco sobre o header vermelho: o contorno global (--accent-on-light) dá ~2:1
   sobre --header-accent; branco dá ~4,7:1. Painéis brancos (mega, dropdowns)
   ficam fora destes seletores e mantêm o contorno escuro. */.nt-nav__brand:focus-visible,.nt-nav__link:focus-visible,.nt-nav__cart:focus-visible,.nt-nav__hamburger:focus-visible,.nt-services-menu__group > .nt-services-menu__link:focus-visible,.nt-services-menu__toggle:focus-visible{outline:2px solid var(--header-accent-contrast, #fff);outline-offset:2px}.nt-nav .nt-nav__notif:focus-visible{box-shadow:0 0 0 2px var(--header-accent-contrast, #fff)}/* Intercom Messenger pronto (classe posta pelo intercom-boot.js após o boot confirmado):
   só então ocultar o bubble do Typebot. SDK bloqueado ou com falha mantém o Typebot. */body.nt-has-intercom.nt-intercom-ready typebot-bubble{display:none !important}