/*
 * Main stylesheet for Astra Child customizations.
 * Keep layout and component overrides here.
 */

:root {
	--ac-container-max-width: 1200px;
	--ac-space-xs: 0.25rem;
	--ac-space-sm: 0.5rem;
	--ac-space-md: 1rem;
	--ac-space-lg: 1.5rem;
	--ac-space-xl: 2rem;
}

.site-content .ast-container {
	max-width: var(--ac-container-max-width);
}

.ac-section {
	padding-top: var(--ac-space-xl);
	padding-bottom: var(--ac-space-xl);
}

.ac-visually-hidden {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

@media (max-width: 921px) {
	body.ac-fullscreen-menu-ready
		#ast-mobile-header
		.ast-builder-menu-mobile
		.main-navigation {
		display: none !important;
	}

	.ac-fullscreen-menu {
		position: fixed;
		inset: 0;
		z-index: 100000;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transform: translateY(-8px);
		transition: opacity 0.28s ease, transform 0.28s ease, visibility 0.28s ease;
		background: var(--ast-global-color-1);
		color: #ffffff;
	}

	.ac-fullscreen-menu.is-open {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translateY(0);
	}

	body.ac-fullscreen-menu-open {
		overflow: hidden;
	}

	.ac-fullscreen-menu__inner {
		height: 100%;
		padding: calc(12px + env(safe-area-inset-top)) 24px 28px;
		display: flex;
		flex-direction: column;
		gap: 24px;
		position: relative;
	}

	.ac-fullscreen-menu__head {
		position: relative;
		min-height: 48px;
	}

	.ac-fullscreen-menu__brand {
		display: flex;
		justify-content: center;
		margin-top: clamp(24px, 5vh, 52px);
	}

	.ac-fullscreen-menu__brand .custom-logo {
		width: 90vw;
		max-width: 420px;
		min-width: 220px;
		height: auto;
	}

	.ac-fullscreen-menu__close {
		background: transparent;
		border: none;
		border-radius: 999px;
		color: #ffffff;
		width: 48px;
		height: 48px;
		font-size: 42px;
		line-height: 1;
		padding: 0;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		cursor: pointer;
		position: absolute;
		top: 0;
		right: 0;
	}

	.ac-fullscreen-menu__nav {
		overflow: auto;
		padding-right: 4px;
		margin-top: 18px;
	}

	.ac-fullscreen-menu__list,
	.ac-fullscreen-menu__submenu {
		list-style: none;
		margin: 0;
		background: transparent !important;
		box-shadow: none !important;
		border: 0 !important;
	}

	.ac-fullscreen-menu__list {
		padding: 0;
		display: block !important;
	}

	.ac-fullscreen-menu__list > .menu-item {
		position: relative;
		border: 0;
		margin-bottom: 2px;
		background: transparent !important;
		display: block !important;
		text-align: center;
	}

	.ac-fullscreen-menu__list > .menu-item > .menu-link {
		color: #ffffff;
		display: flex;
		align-items: center;
		justify-content: center;
		min-height: 56px;
		padding: 12px 52px;
		font-size: clamp(1.6rem, 6vw, 2.2rem);
		font-weight: 650;
		line-height: 1.2;
		text-transform: uppercase;
		letter-spacing: 0.015em;
		background: transparent !important;
		box-shadow: none !important;
		border: 0 !important;
	}

	.ac-fullscreen-menu__list > .menu-item > .menu-link:hover,
	.ac-fullscreen-menu__list > .menu-item > .menu-link:focus {
		color: #d2deff;
	}

	.ac-fullscreen-menu__list > .menu-item > .menu-link:focus,
	.ac-fullscreen-menu__list > .menu-item > .menu-link:focus-visible,
	.ac-fullscreen-menu__submenu .menu-item > .menu-link:focus,
	.ac-fullscreen-menu__submenu .menu-item > .menu-link:focus-visible {
		outline: 2px solid rgba(255, 255, 255, 0.9);
		outline-offset: 3px;
		border-radius: 4px;
		color: #ffffff;
		box-shadow: none;
	}

	.ac-fullscreen-menu__submenu-toggle {
		position: absolute;
		top: 6px;
		right: 0;
		width: 32px;
		height: 32px;
		background: transparent;
		border: 0;
		color: #ffffff;
		padding: 0;
		cursor: pointer;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	.ac-fullscreen-menu__close:focus,
	.ac-fullscreen-menu__close:focus-visible,
	.ac-fullscreen-menu__submenu-toggle:focus,
	.ac-fullscreen-menu__submenu-toggle:focus-visible {
		outline: 2px solid rgba(255, 255, 255, 0.9);
		outline-offset: 2px;
		box-shadow: none;
	}

	.ac-fullscreen-menu__submenu-icon {
		position: relative;
		display: block;
		width: 14px;
		height: 14px;
	}

	.ac-fullscreen-menu__submenu-icon::before,
	.ac-fullscreen-menu__submenu-icon::after {
		content: "";
		position: absolute;
		background: currentColor;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
	}

	.ac-fullscreen-menu__submenu-icon::before {
		width: 14px;
		height: 2px;
	}

	.ac-fullscreen-menu__submenu-icon::after {
		width: 2px;
		height: 14px;
		transition: opacity 0.2s ease;
	}

	.ac-fullscreen-menu__list .menu-item.is-open > .ac-fullscreen-menu__submenu-toggle .ac-fullscreen-menu__submenu-icon::after {
		opacity: 0;
	}

	.ac-fullscreen-menu__submenu {
		padding: 0 0 14px 14px;
		background: transparent !important;
		border: 0 !important;
	}

	.ac-fullscreen-menu__submenu .menu-item > .menu-link {
		color: rgba(255, 255, 255, 0.82);
		display: flex;
		align-items: center;
		min-height: 44px;
		padding: 8px 0;
		font-size: clamp(1rem, 3.8vw, 1.15rem);
		line-height: 1.35;
		background: transparent !important;
		box-shadow: none !important;
		border: 0 !important;
	}

	@media (prefers-reduced-motion: reduce) {
		.ac-fullscreen-menu {
			transition: none;
			transform: none;
		}

		.ac-fullscreen-menu__submenu-icon::after {
			transition: none;
		}
	}
}
