/* ══════════════════════════════════════════
   SITE BAR — persistent top strip
══════════════════════════════════════════ */
.nil-site-bar {
	z-index: 200;
}
.nil-footer-modelos{
	padding: var(--nil-s-md) var(--nil-s-lg);
}

.nil-bar-brand {
	pointer-events: all;
	text-decoration: none;
	display: flex;
	align-items: center;
}

.nil-bar-brand img {
	height: 36px;
	width: auto;
	display: block;
	object-fit: contain;
}

.nil-bar-brand span {
	color: var(--nil-color-primary);
	font-size: .72rem;
	font-weight: 400;
	letter-spacing: .4em;
	text-transform: uppercase;
}

/* ── Hamburger ── */

.nil-hamburger {
	pointer-events: all;
	gap: 8px;
	background: none;
	border: none;
	cursor: pointer;
	padding: 10px;
	z-index: 300; /* above nav overlay */
	position: relative;
}

.nil-ham-line {
	display: block;
	width: 36px;
	height: 2px;
	background: var(--nil-color-primary);
	transform-origin: center;
	transition: background 0.3s ease;
}

/* When menu is open, lines go white (nav bg is dark) */
.nil-hamburger.is-open .nil-ham-line {
	background: var(--nil-color-white);
}
/* ══════════════════════════════════════════
   FOOTER MODELOS — BOTÓN REGRESAR
══════════════════════════════════════════ */
.nil-btn-back {
    display: inline-block;
    background-color: var(--nil-color-primary);
    color: var(--nil-color-white);
    padding: var(--nil-s-xs) var(--nil-s-md);
    text-decoration: none;
    text-transform: uppercase;
    font-size: .75rem;
    letter-spacing: .15em;
    border: none;
    cursor: pointer;
    transition: opacity 0.3s ease;
}
.nil-btn-back:hover {
    opacity: 0.85;
    color: var(--nil-color-white);
}
/* ══════════════════════════════════════════
   FULLSCREEN NAV OVERLAY
══════════════════════════════════════════ */

.nil-fullscreen-nav {
	height: 100dvh;
	z-index: 250;
	background: #0c0c0c;
	align-items: stretch;
	clip-path: inset(0 100% 0 0);
	visibility: hidden;
	pointer-events: none;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
}

.nil-fn-inner {
	padding: 80px 10vw 60px;
	box-sizing: border-box;
}

/* ── Menu items ── */
.nil-fn-menu > .menu-item {
	counter-increment: fn-item;
	margin-bottom: 4px;
}

.nil-fn-menu > .menu-item > a {
	display: inline-flex;
	align-items: baseline;
	gap: 20px;
	text-decoration: none;
	color: var(--nil-color-white);
	font-size: clamp(2.2rem, 5vw, 3rem);
	font-weight: 200;
	letter-spacing: .08em;
	text-transform: uppercase;
	line-height: 1.15;
	padding: 6px 0;
	opacity: 0.8;
	transition: transform .35s cubic-bezier(0.25, 1, 0.5, 1), opacity .35s ease;
}

/* ── Sub-menu ── */

.nil-fn-menu .sub-menu {
	list-style: none;
	margin: 2px 0 10px calc(clamp(2.2rem, 5vw, 5rem) * .45 + 20px);
	padding: 0;
}

.nil-fn-menu .sub-menu .menu-item {
	margin-bottom: 2px;
}

.nil-fn-menu .sub-menu .menu-item a {
	display: block;
	text-decoration: none;
	color: rgba(255, 255, 255, .45);
	font-size: .65rem;
	letter-spacing: .3em;
	text-transform: uppercase;
	padding: 4px 0;
	transition: transform .3s cubic-bezier(0.25, 1, 0.5, 1), filter .3s ease;
}

.nil-fn-menu .sub-menu .menu-item a:hover {
	transform: translateX(6px);
	filter: brightness(2.2);
}

/* ── Close button (×) ── */
.d-none{
	display: none;
}
.nil-fn-close {
	position: absolute;
	top: 28px;
	right: 40px;
	background: none;
	border: none;
	cursor: pointer;
	width: 36px;
	height: 36px;
	padding: 0;
	z-index: 10;
	transition: opacity .25s ease;
}

.nil-fn-close:hover {
	opacity: 0.5;
}

.nil-fn-close::before,
.nil-fn-close::after {
	content: '';
	position: absolute;
	width: 28px;
	height: 1px;
	background: rgba(255, 255, 255, .55);
}

.nil-fn-close::before {
	transform: rotate(45deg);
}

.nil-fn-close::after {
	transform: rotate(-45deg);
}

/* ── Footer ── */

.nil-fn-footer {
	border-top: 1px solid rgba(255, 255, 255, .1);
}

.nil-fn-footer-brand {
	color: rgba(255, 255, 255, .4);
	font-size: .62rem;
	letter-spacing: .45em;
	transition: opacity .25s ease;
}

.nil-fn-footer-brand:hover {
	opacity: 0.65;
}

.nil-fn-social-link {
	color: var(--nil-color-white);
	gap: var(--nil-s-2xs);
	font-family: var(--e-global-typography-accent-font-family, sans-serif);
	font-weight: var(--e-global-typography-accent-font-weight, 500);
	font-size: clamp(0.75rem, 1vw, 0.85rem);
	transition: transform .3s cubic-bezier(0.25, 1, 0.5, 1), opacity .3s ease;
}

.nil-fn-social-link svg {
	width: 18px;
	height: 18px;
}
/* ══════════════════════════════════════════
   CORP COLUMN — two-zone layout
══════════════════════════════════════════ */

/* On desktop the corp col stretches to match the main menu height
   and gets a fine left border acting as a column separator. */
.nil-fn-corp-inner {
    padding-left: var(--nil-s-lg);
    border-left: 1px solid rgba(255, 255, 255, 0.1);
}

/* Eyebrow label above the corp items */
.nil-fn-corp-label {
    letter-spacing: 0.45em;
    color: var(--nil-color-white);
    margin-top: 0;
}

/* Corp menu list items */
.nil-fn-corp-menu {
    margin: 0;
}

.nil-fn-corp-menu > .menu-item {
    overflow: hidden;
    margin-bottom: 2px;
}

.nil-fn-corp-menu > .menu-item > a {
    display: block;
    text-decoration: none;
    font-size: clamp(1rem, 2.2vw, 1.4rem);
    letter-spacing: 0.2em;
    line-height: 1.4;
	color: var(--nil-color-white);
    padding: 6px 0;
    transition: transform .35s cubic-bezier(0.25, 1, 0.5, 1), filter .35s ease;
}

/* Hover effect for menu items */
.nil-fn-corp-menu > .menu-item > a:hover, .nil-fn-menu > .menu-item > a:hover, .nil-fn-social-link:hover  {
    transform: translateX(8px);
    filter: brightness(2);
	opacity: 1;
	color: var(--nil-color-white);
}

/* ══════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════ */
@media (max-width: 767px) {
	.nil-site-bar {
		padding: 20px 24px;
	}

	.nil-fn-close {
		top: 20px;
		right: 24px;
	}

	.nil-fn-inner {
		padding: 52px 8vw 48px;
	}

	.nil-fn-menu > .menu-item > a {
		gap: 14px;
	}

	.nil-fn-menu .sub-menu {
		margin-left: calc(clamp(2.2rem, 5vw, 5rem) * .45 + 14px);
	}

	/* On mobile: swap vertical border for a top border */
	.nil-fn-corp-inner {
		padding-left: 0;
		padding-top: var(--nil-s-lg);
		border-left: none;
		border-top: 1px solid rgba(255, 255, 255, 0.1);
	}
}
/* ══════════════════════════════════════════
   FULLSCREEN NAV — BOTÓN REGRESAR EN FOOTER
══════════════════════════════════════════ */
.nil-fn-footer-btn {
	position: static !important;
	background: transparent;
	border: none;
	padding: 0;
	width: auto;
	height: auto;
	cursor: pointer;
	color: var(--nil-color-white);
	font-family: var(--e-global-typography-accent-font-family, sans-serif);
	font-weight: var(--e-global-typography-accent-font-weight, 500);
	font-size: clamp(0.75rem, 1vw, 0.85rem);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	transition: transform .3s cubic-bezier(0.25, 1, 0.5, 1), opacity .3s ease;
}
.nil-fn-footer-btn:hover {
	transform: translateX(-6px);
	opacity: 0.7;
}

/* ── Menú de Redes Sociales Inline (Fluid Edition) ── */
.nil-social-nav {
    /* Usamos tu escala de espaciado fluido para separar los enlaces */
    gap: var(--nil-s-md); 
    list-style: none;
}

.nil-social-nav a {
    /* Conectamos a la fuente Accent de Elementor para los enlaces */
    font-family: var(--e-global-typography-accent-font-family, sans-serif);
    font-weight: var(--e-global-typography-accent-font-weight, 500);
    font-size: clamp(0.75rem, 1vw, 0.85rem);
    
    text-transform: uppercase;
    letter-spacing: 0.1em;
    text-decoration: none;
    
    /* Usamos tu paleta híbrida */
    color: var(--nil-color-muted); 
    transition: color 0.3s ease;
}

.nil-social-nav a:hover {
    transform: translateX(4px);
    filter: brightness(0.6);
}
/* ══════════════════════════════════════════
   ADMIN BAR COMPATIBILITY
   WP adds `html { margin-top: 32px }` when
   logged in — offset our fixed elements.
══════════════════════════════════════════ */

body.admin-bar .nil-site-bar {
	top: 32px;
}

body.admin-bar .nil-fullscreen-nav {
	top: 32px;
}

@media screen and (max-width: 782px) {
	body.admin-bar .nil-site-bar {
		top: 46px;
	}

	body.admin-bar .nil-fullscreen-nav {
		top: 46px;
	}
}
