/**
 * Global layout overrides for the Astra child theme.
 *
 * Put only site-wide layout adjustments here: page widths, spacing,
 * header/footer structure, responsive breakpoints, and grid alignment.
 */

p {
	margin-bottom: 0;
	padding-bottom: 0;
}

/* Astra's default content wrapper is intentionally constrained and padded. */
.ast-container {
	width: 100%;
	max-width: none !important;
	margin: 0;
	padding-right: 0;
	padding-left: 0;
}

/* Header width and horizontal padding on Astra's desktop and mobile wrappers. */
#ast-desktop-header .site-primary-header-wrap,
#ast-mobile-header .ast-primary-header-bar.site-primary-header-wrap {
	width: 100%;
	max-width: var(--layout-header-max-width) !important;
	margin-right: auto;
	margin-left: auto;
	box-sizing: border-box;
	padding-right: var(--layout-header-inline-padding);
	padding-left: var(--layout-header-inline-padding);
}

/* Astra renders the primary navigation in this below-header wrapper. */
#ast-desktop-header .site-below-header-wrap.ast-container,
#ast-mobile-header .site-below-header-wrap.ast-container {
	width: 100%;
	max-width: var(--layout-header-max-width) !important;
	margin-right: auto;
	margin-left: auto;
	box-sizing: border-box;
	padding-right: var(--layout-header-inline-padding);
	padding-left: var(--layout-header-inline-padding);
}

/* Above-header stays full width; only its horizontal spacing follows the header setting. */
#ast-desktop-header .site-above-header-wrap.ast-container,
#ast-mobile-header .site-above-header-wrap.ast-container {
	box-sizing: border-box;
	padding-right: var(--layout-header-inline-padding);
	padding-left: var(--layout-header-inline-padding);
}

/* Primary-menu dropdowns cannot exceed the header layout width. */
#ast-desktop-header .main-header-menu .sub-menu,
#ast-mobile-header .main-header-menu .sub-menu {
	max-width: var(--layout-header-max-width);
	box-sizing: border-box;
}

@media (min-width: 922px) {
	#ast-desktop-header .ast-builder-menu-1 .main-header-menu > .menu-item:first-child > .menu-link {
		padding-left: 0;
	}
}

/* Content and footer use independent maximum widths. */
.site-content > .ast-container {
	width: 100%;
	max-width: var(--layout-content-max-width) !important;
	margin-right: auto;
	margin-left: auto;
}

/* Constrain default boxed Elementor containers independently of the header width. */
@media (min-width: 1025px) {
	.elementor .e-con.e-con-boxed {
		--container-max-width: calc(
			var(--layout-elementor-container-max-width) - var(--container-default-padding-left) - var(--container-default-padding-right)
		);
	}
}

.site-footer .menu li.menu-item a.menu-link 
{
	color: var(--ast-global-color-3);
}

/* Footer Builder does not use .ast-container; its inner grid is the content wrapper. */
.site-footer .site-above-footer-wrap .ast-builder-grid-row-container-inner,
.site-footer .site-primary-footer-wrap .ast-builder-grid-row-container-inner,
.site-footer .site-below-footer-wrap .ast-builder-grid-row-container-inner {
	width: 100%;
	max-width: var(--layout-footer-max-width) !important;
	margin-right: auto;
	margin-left: auto;
	box-sizing: border-box;
	padding-right: var(--layout-footer-inline-padding);
	padding-left: var(--layout-footer-inline-padding);
}

.site-above-footer-wrap[data-section="section-above-footer-builder"] .ast-builder-grid-row {
	margin-right: 0;
	margin-left: 0;
}

.ast-mobile-popup-header,
.astra-cart-drawer .astra-cart-drawer-header {
	display: flex;
	align-items: center;
	gap: 12px;
}

.ast-mobile-popup-drawer .ast-mobile-popup-header {
	justify-content: space-between;
	min-height: 64px;
	padding: 10px 16px;
}

.astra-child-drawer-branding {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	margin-right: auto;
}

.astra-child-drawer-branding .site-logo-img,
.astra-child-drawer-branding .custom-logo-link {
	display: flex;
	flex: 0 0 auto;
}

.astra-child-drawer-branding .custom-logo {
	width: 40px;
	height: 40px;
	object-fit: contain;
}

.astra-child-drawer-branding .ast-site-title-wrap {
	min-width: 0;
}

.astra-child-drawer-branding .site-title {
	display: block;
	font-size: 16px;
	line-height: 1.2;
	white-space: nowrap;
}

.astra-child-drawer-branding .site-title a {
	color: inherit;
	text-decoration: none;
}

.astra-child-drawer-branding .site-description {
	display: none;
}

.astra-cart-drawer .astra-cart-drawer-header {
	min-height: 64px;
	max-height: none;
	padding: 10px 16px;
}

.astra-cart-drawer .astra-cart-drawer-header .astra-cart-drawer-title {
	flex: 0 0 auto;
}

.astra-cart-drawer .astra-cart-drawer-close {
	position: static;
	flex: 0 0 auto;
	order: 3;
	padding: 6px;
}

.astra-cart-drawer .astra-cart-drawer-content {
	padding-top: 64px;
}

/* .site-footer .footer-nav-wrap a {
	padding: 0 !important;
} */

/* Matches --elementor-breakpoint-mobile-max from style.css. */
@media (max-width: 767px) {
	/* Mobile Header Builder rows do not use .ast-container. */
	#ast-mobile-header [data-section="section-above-header-builder"],
	#ast-mobile-header [data-section="section-primary-header-builder"],
	#ast-mobile-header [data-section="section-below-header-builder"] {
		box-sizing: border-box;
		padding-right: var(--layout-header-inline-padding-mobile) !important;
		padding-left: var(--layout-header-inline-padding-mobile) !important;
	}

	.site-footer .site-above-footer-wrap .ast-builder-grid-row-container-inner,
	.site-footer .site-primary-footer-wrap .ast-builder-grid-row-container-inner,
	.site-footer .site-below-footer-wrap .ast-builder-grid-row-container-inner {
		padding-right: var(--layout-footer-inline-padding-mobile);
		padding-left: var(--layout-footer-inline-padding-mobile);
	}

}
