/*
Theme Name: All Clear Astra Child
Theme URI: https://allclearinspections.org/
Description: Minimal Astra child theme providing the All Clear Production Identity v1.0 site-shell foundation.
Author: All Clear
Author URI: https://allclearinspections.org/
Template: astra
Version: 0.1.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: all-clear-astra-child
*/

:root {
	--ac-deep-navy: #0b1d33;
	--ac-institutional-gold: #b08a35;
	--ac-slate: #58616a;
	--ac-light-gray: #e6e8eb;
	--ac-warm-off-white: #f7f6f3;
	--ac-white: #ffffff;
	--ac-focus-ring: #b08a35;
	--ac-font-interface: "Montserrat", "Avenir Next", Avenir, "Segoe UI", Helvetica, Arial, sans-serif;
	--ac-space-xs: 0.5rem;
	--ac-space-sm: 0.875rem;
	--ac-space-md: 1.5rem;
	--ac-space-lg: 2.5rem;
	--ac-control-radius: 2px;

	/* Keep Astra's semantic tokens aligned with Production Identity v1.0. */
	--ast-global-color-0: var(--ac-institutional-gold);
	--ast-global-color-1: var(--ac-deep-navy);
	--ast-global-color-2: var(--ac-deep-navy);
	--ast-global-color-3: var(--ac-slate);
	--ast-global-color-4: var(--ac-warm-off-white);
	--ast-global-color-5: var(--ac-white);
	--ast-global-color-6: var(--ac-light-gray);
}

body.ac-identity-shell {
	background: var(--ac-warm-off-white);
	color: var(--ac-slate);
	font-family: var(--ac-font-interface);
}

.ac-identity-shell :where(a, button, input, select, textarea, summary):focus-visible {
	outline: 3px solid var(--ac-focus-ring);
	outline-offset: 3px;
}

/* Astra header shell. Page, Elementor, and LearnDash content remain untouched. */
.ac-identity-shell .site-header,
.ac-identity-shell .ast-primary-header-bar,
.ac-identity-shell .ast-mobile-header-wrap .ast-primary-header-bar {
	background: var(--ac-warm-off-white);
	border-color: var(--ac-light-gray);
	box-shadow: none;
	font-family: var(--ac-font-interface);
}

.ac-identity-shell .ast-primary-header-bar {
	min-height: 80px;
}

.ac-identity-shell .site-header .site-branding,
.ac-identity-shell .site-header .ast-site-identity {
	padding-block: var(--ac-space-sm);
}

.ac-identity-shell .site-header .custom-logo-link,
.ac-identity-shell .site-header .custom-logo-link img.custom-logo {
	display: block;
}

.ac-identity-shell .site-header img.custom-logo {
	width: 320px;
	max-width: 320px;
	height: auto;
}

.ac-identity-shell .main-header-menu > .menu-item > .menu-link,
.ac-identity-shell .ast-builder-menu-mobile .main-navigation .menu-item > .menu-link {
	color: var(--ac-deep-navy);
	font-family: var(--ac-font-interface);
	font-weight: 600;
	letter-spacing: 0.01em;
}

.ac-identity-shell .main-header-menu > .menu-item > .menu-link:hover,
.ac-identity-shell .main-header-menu > .current-menu-item > .menu-link,
.ac-identity-shell .ast-builder-menu-mobile .main-navigation .menu-item > .menu-link:hover {
	color: var(--ac-institutional-gold);
}

.ac-identity-shell .ast-header-button-1 .ast-custom-button,
.ac-identity-shell .site-header button {
	border-radius: var(--ac-control-radius);
	box-shadow: none;
}

.ac-identity-shell .ast-mobile-menu-trigger-minimal,
.ac-identity-shell .ast-button-wrap .menu-toggle.main-header-menu-toggle {
	color: var(--ac-deep-navy);
}

/* Astra retains footer structure, copyright, navigation, and future content ownership. */
.ac-identity-shell .site-footer,
.ac-identity-shell .site-footer .site-primary-footer-wrap,
.ac-identity-shell .site-footer .site-below-footer-wrap {
	background: var(--ac-deep-navy);
	border-color: rgba(230, 232, 235, 0.2);
	box-shadow: none;
	color: var(--ac-white);
	font-family: var(--ac-font-interface);
}
.ac-identity-shell .site-footer a {
	color: var(--ac-light-gray);
}

.ac-identity-shell .site-footer a:hover,
.ac-identity-shell .site-footer a:focus-visible {
	color: var(--ac-institutional-gold);
}

.ac-identity-shell .site-footer .widget:empty,
.ac-identity-shell .site-footer .footer-widget-area:empty,
.ac-identity-shell .site-footer .footer-widget-area:not(:has(.widget)) {
	display: none;
}

@media (max-width: 921px) {
	.ac-identity-shell .site-header img.custom-logo {
		width: 220px !important;
		max-width: min(220px, 52vw) !important;
		height: auto !important;
	}

	.ac-identity-shell .ast-primary-header-bar {
		min-height: 72px;
	}
}

@media (max-width: 544px) {
	.ac-identity-shell .site-header img.custom-logo {
		width: 190px !important;
		max-width: min(190px, 58vw) !important;
	}
}
