/*
 * layout.css
 * Minimal fallback layout only. Styles the fallback header/footer
 * structure so the theme is usable — and presentable — before any
 * Elementor design is applied. No homepage sections, no product
 * cards, no hero design. Everything stays neutral (borders and tints
 * derive from the inherited text color) so it sits under any palette.
 */

.site {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	min-height: 100dvh;
}

.site-main {
	flex: 1 0 auto;
}

/* Fallback header */

.fallback-header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem 2rem;
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
	padding: 1rem 1.5rem;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.fallback-header .site-branding {
	display: flex;
	flex-direction: column;
	gap: 0.125rem;
}

.fallback-header .site-title {
	margin: 0;
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	line-height: 1.3;
}

.fallback-header .site-title a:hover,
.fallback-header .site-title a:focus {
	text-decoration: none;
	opacity: 0.75;
}

.fallback-header .site-description {
	margin: 0;
	font-size: 0.8125rem;
	opacity: 0.65;
}

.fallback-header .main-navigation ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.fallback-header .main-navigation a {
	display: inline-block;
	padding: 0.5rem 0.75rem;
	border-radius: 6px;
	font-size: 0.9375rem;
	font-weight: 500;
	transition: background-color 0.15s ease;
}

.fallback-header .main-navigation a:hover,
.fallback-header .main-navigation a:focus {
	text-decoration: none;
	background-color: rgba(0, 0, 0, 0.06);
}

.fallback-header .main-navigation .current-menu-item > a,
.fallback-header .main-navigation .current_page_item > a {
	background-color: rgba(0, 0, 0, 0.06);
	font-weight: 600;
}

/* Fallback footer */

.fallback-footer {
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
	padding: 2rem 1.5rem;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.fallback-footer .footer-navigation ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 1.25rem;
	list-style: none;
	margin: 0 0 1rem;
	padding: 0;
}

.fallback-footer .footer-navigation a {
	display: inline-block;
	padding: 0.25rem 0;
	font-size: 0.875rem;
	opacity: 0.8;
}

.fallback-footer .footer-navigation a:hover,
.fallback-footer .footer-navigation a:focus {
	opacity: 1;
}

.fallback-footer .site-info {
	font-size: 0.8125rem;
	opacity: 0.65;
}

.fallback-footer .site-info p {
	margin: 0;
}

@media (max-width: 600px) {

	.fallback-header,
	.fallback-footer {
		padding-left: 1rem;
		padding-right: 1rem;
	}
}

/* Full width template wrapper — no max-width restriction */
.nexio-full-width-content {
	width: 100%;
}
