/* ---------- Barra superior ---------- */
.nt-announce {
	position: relative;
	display: flex;
	align-items: center;
	height: 40px;
	padding: 0 var(--nt-gutter);
	background: var(--nt-bar);
	color: var(--nt-text);
}
.nt-announce__text { margin: 0; font-size: 14px; line-height: 16px; flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nt-announce__close { appearance: none; background: none; border: 0; padding: 8px; margin-right: -8px; cursor: pointer; color: inherit; display: inline-flex; }
.nt-announce[hidden] { display: none; }

/* ---------- Cabecera fija ---------- */
.nt-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: var(--nt-bg);
}
body.admin-bar .nt-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .nt-header { top: 46px; } }

.nt-header__bar {
	display: flex;
	align-items: center;
	height: var(--nt-header-h);
	padding: 0 var(--nt-gutter);
	gap: 0;
}
.nt-header.is-open .nt-header__bar,
.nt-header.is-search .nt-header__bar { border-bottom: 1px solid var(--nt-line); }

.nt-logo { display: inline-flex; align-items: center; margin-right: 16px; color: var(--nt-text); flex: none; }
.nt-logo__text { font-weight: 800; font-size: 20px; letter-spacing: -.03em; line-height: 1; }
.nt-logo__img { max-height: 28px; width: auto; }

.nt-nav { flex: 1; min-width: 0; height: 100%; }
.nt-nav__list { list-style: none; margin: 0; padding: 0; display: flex; height: 100%; align-items: center; }
.nt-nav__item { height: 100%; display: flex; align-items: center; }
.nt-nav__link {
	display: block;
	padding: 0 8px;
	font-size: 14px;
	line-height: 21px;
	color: var(--nt-muted);
	transition: color .15s;
}
.nt-nav__item.is-current > .nt-nav__link,
.nt-nav__item.is-open > .nt-nav__link,
.nt-nav__link:hover,
.nt-nav__link:focus-visible { color: var(--nt-text); }

/* ---------- Herramientas (derecha) ---------- */
.nt-tools { display: flex; align-items: center; gap: 16px; margin-left: auto; flex: none; }
.nt-tools__btn { appearance: none; background: none; border: 0; padding: 4px; cursor: pointer; color: var(--nt-muted); display: inline-flex; transition: color .15s; }
.nt-tools__link { color: var(--nt-muted); font-size: 14px; line-height: 21px; transition: color .15s; }
.nt-tools__btn:hover, .nt-tools__link:hover { color: var(--nt-text); }

/* ---------- Menú desplegable ---------- */
.nt-mega {
	position: absolute;
	left: 0; right: 0;
	top: 100%;
	display: grid;
	grid-template-columns: 252px 1fr;
	gap: 0;
	background: var(--nt-bg);
	border-top: 1px solid var(--nt-line);
	max-height: calc(100vh - var(--nt-header-h) - 40px);
	overflow: auto;
}
.nt-mega[hidden] { display: none; }
.nt-mega__links { list-style: none; margin: 0; padding: 20px var(--nt-gutter); border-right: 1px solid var(--nt-line); }
.nt-mega__links li { margin: 0; }
.nt-mega__links a { display: block; padding: 0 0 8px; font-size: 14px; line-height: 21px; color: var(--nt-muted); transition: color .15s; }
.nt-mega__links a:hover, .nt-mega__links a:focus-visible { color: var(--nt-text); }

.nt-mega__tiles { list-style: none; margin: 0; padding: 20px var(--nt-gutter); display: grid; grid-template-columns: repeat(3, minmax(0, 235px)); gap: 16px; align-content: start; }
.nt-mega__tiles a { display: block; color: var(--nt-muted); transition: color .15s; }
.nt-mega__tiles a:hover { color: var(--nt-text); }
.nt-mega__tiles img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; background: #e9e9e9; }
.nt-mega__tiles span { display: block; padding-top: 12px; font-size: 14px; line-height: 21px; }

/* Velo con desenfoque detrás del desplegable */
.nt-overlay {
	position: fixed;
	inset: 0;
	z-index: 40;
	background: rgba(246, 246, 246, .35);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}
.nt-overlay[hidden] { display: none; }

/* ---------- Buscador ---------- */
.nt-search { border-top: 1px solid var(--nt-line); padding: 12px var(--nt-gutter); background: var(--nt-bg); }
.nt-search[hidden] { display: none; }
.nt-search input[type="search"] {
	width: 100%; max-width: 640px; display: block;
	border: 0; border-bottom: 1px solid var(--nt-text); background: transparent;
	padding: 8px 0; font-size: 16px; font-weight: 300; outline: none; border-radius: 0;
}

/* ---------- Móvil ---------- */
.nt-burger { display: none; appearance: none; background: none; border: 0; padding: 0; width: 32px; height: 32px; margin-left: -6px; cursor: pointer; position: relative; flex: none; }
.nt-burger span { position: absolute; left: 7px; right: 7px; height: 1.2px; background: var(--nt-text); transition: transform .2s, top .2s; }
.nt-burger span:nth-child(1) { top: 12px; }
.nt-burger span:nth-child(2) { top: 19px; }
.nt-burger[aria-expanded="true"] span:nth-child(1) { top: 15.5px; transform: rotate(45deg); }
.nt-burger[aria-expanded="true"] span:nth-child(2) { top: 15.5px; transform: rotate(-45deg); }

.nt-drawer { position: fixed; z-index: 45; left: 0; right: 0; bottom: 0; top: var(--nt-drawer-top, 92px); background: var(--nt-bg); overflow: auto; padding: 8px var(--nt-gutter) 32px; border-top: 1px solid var(--nt-line); }
.nt-drawer[hidden] { display: none; }
.nt-drawer__list, .nt-drawer__list ul { list-style: none; margin: 0; padding: 0; }
.nt-drawer__list > li > a, .nt-drawer__list summary { display: block; padding: 14px 0; font-size: 18px; line-height: 1.3; border-bottom: 1px solid var(--nt-line); cursor: pointer; list-style: none; }
.nt-drawer__list summary::-webkit-details-marker { display: none; }
.nt-drawer__list ul a { display: block; padding: 10px 0 10px 12px; font-size: 15px; color: var(--nt-muted); }

/* Iconos de la cabecera */
.nt-icon-search { display: block; width: 20px; height: 20px; }
/* Un plugin fuerza svg{display:inline}: de ahí los selectores dobles */
.nt-tools__cart .nt-icon-bag { display: block; width: 14px; height: 18px; flex: none; margin-right: 2px; }
.nt-tools__account .nt-icon-user { display: block; width: 20px; height: 20px; }
.nt-tools__cart, .nt-tools__account { display: inline-flex; align-items: center; gap: 0; }
.nt-tools { gap: 14px; }

/* Móvil: logo a la izquierda; lupa, bolsa y menú a la derecha (como Tekla) */
@media (max-width: 1023px) {
	.nt-burger { display: inline-block; order: 3; margin: 0 -6px 0 4px; }
	.nt-nav { display: none; }
	.nt-logo { order: 0; margin: 0; }
	.nt-tools { order: 2; margin-left: auto; gap: 8px; }
	.nt-tools__btn, .nt-tools__link { color: var(--nt-text); }
	.nt-tools__btn { padding: 8px; }
	.nt-icon-search { width: 24px; height: 24px; }
	.nt-tools__account { padding: 8px; }
	.nt-tools__account .nt-icon-user { width: 24px; height: 24px; }
	.nt-tools__cart { padding: 8px 0 8px 4px; }
}
@media (min-width: 1024px) {
	.nt-drawer { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
	.nt-burger span, .nt-nav__link, .nt-tools__link, .nt-tools__btn { transition: none; }
}
