/**
 * Layout shell — sidebar opaco y secciones sólidas.
 * Carga al final para ganar prioridad sobre Tailwind CDN.
 */

@media (min-width: 1024px) {
	body.has-sidebar::before {
		content: '';
		position: fixed;
		left: 0;
		top: 0;
		width: 280px;
		height: 100vh;
		height: 100dvh;
		background-color: #ffffff;
		z-index: 90;
		pointer-events: none;
		border-right: 1px solid rgba(27, 54, 93, 0.1);
	}

	body.has-sidebar {
		background-color: #f8fafc !important;
		background-image: none !important;
	}

	body.has-sidebar #site-main {
		position: relative;
		z-index: 1;
		margin-left: 280px !important;
		width: calc(100% - 280px) !important;
		max-width: calc(100vw - 280px) !important;
		box-sizing: border-box !important;
		overflow-x: clip;
		background-color: transparent;
	}
}

#site-aside.site-aside {
	position: fixed !important;
	left: 0 !important;
	top: 0 !important;
	z-index: 200 !important;
	width: 280px !important;
	height: 100vh !important;
	height: 100dvh !important;
	display: none;
	flex-direction: column !important;
	background-color: #ffffff !important;
	background-image: none !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
	border-right: 1px solid rgba(27, 54, 93, 0.1) !important;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06) !important;
	isolation: isolate;
}

#site-aside.site-aside > div,
#site-aside.site-aside nav,
#site-aside.site-aside .border-b,
#site-aside.site-aside .border-t {
	background-color: #ffffff !important;
}

@media (min-width: 1024px) {
	body.has-sidebar #site-aside.site-aside {
		display: flex !important;
	}

	body.is-fullwidth::before {
		display: none !important;
	}

	body.is-fullwidth #site-main {
		margin-left: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	body.is-fullwidth #site-aside.site-aside {
		transform: translateX(-100%);
		pointer-events: none;
		box-shadow: none !important;
	}
}

#site-aside .nav-side-link {
	color: rgba(30, 41, 59, 0.75) !important;
}

#site-aside .nav-side-link.is-active,
#site-aside .nav-side-link:hover {
	color: #1b365d !important;
}

/* Secciones: fondos sólidos (sin transparencia) */
#site-main .folio-page {
	position: relative;
	z-index: 1;
}

#hero.folio-page--hero {
	background-color: #1b365d !important;
	overflow: hidden !important;
	margin-top: 0 !important;
	padding-top: 0 !important;
	isolation: isolate;
}

#nosotros.folio-page,
#nosotros.folio-page.bg-white {
	background-color: #ffffff !important;
}

#proyecto.folio-page,
#proyecto.folio-page.bg-neutro {
	background-color: #f8fafc !important;
}

#contacto.folio-page,
#contacto.folio-page.bg-white {
	background-color: #ffffff !important;
}

#site-main .site-footer {
	background-color: #ffffff !important;
	position: relative;
	z-index: 1;
}

#hero .hero-bg-wrap,
#hero .hero-bg {
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
}
