/* CARD3N header + footer: details Astra's header/footer builder controls don't cover.
   Scoped to #masthead and .site-footer so page content is untouched. */

/* ---------- Header ---------- */
#masthead .ast-primary-header-bar { background: #111014; border-bottom: 0; }
#masthead .site-primary-header-wrap { max-width: 1376px; margin: 0 auto; padding-left: 32px; padding-right: 32px; }
#masthead .custom-logo-link img { height: 40px; width: auto; max-height: none; }
#masthead .ast-builder-menu-1 .menu-item > .menu-link {
	font-family: 'Bricolage Grotesque', 'Helvetica Neue', Helvetica, sans-serif; font-weight: 800; font-stretch: 75%;
	padding: 6px 0; border-bottom: 3px solid transparent; line-height: 1.2;
}
#masthead .ast-builder-menu-1 .main-header-menu { gap: 4px 26px; }
#masthead .ast-builder-menu-1 .menu-item > .menu-link { margin: 0; }
#masthead .ast-builder-menu-1 .current-menu-item > .menu-link,
#masthead .ast-builder-menu-1 .current_page_item > .menu-link { border-bottom-color: #FF2E88; color: #FFFFFF; }
#masthead .ast-header-button-1 .ast-custom-button {
	font-family: 'Bricolage Grotesque', 'Helvetica Neue', Helvetica, sans-serif; font-stretch: 75%; min-height: 44px;
	display: flex; align-items: center; transition: transform .15s ease, box-shadow .15s ease;
}
#masthead .ast-header-button-1 .ast-custom-button:hover { transform: translate(-2px, -2px); box-shadow: 7px 7px 0 #111014; }

/* Mobile header + dropdown menu */
#masthead .ast-mobile-header-wrap .ast-primary-header-bar { background: #111014; }
#masthead .ast-mobile-header-wrap .site-primary-header-wrap { padding-left: 20px; padding-right: 20px; }
#masthead .menu-toggle .ast-mobile-svg { fill: #FFFFFF; }
#masthead .ast-mobile-header-content,
#masthead .ast-mobile-header-content .main-header-menu,
#masthead .ast-mobile-header-content .menu-item,
#masthead .ast-mobile-header-content .menu-item > .menu-link { background-color: #111014 !important; }
#masthead .ast-mobile-header-content .menu-item > .menu-link {
	font-family: 'Bricolage Grotesque', 'Helvetica Neue', Helvetica, sans-serif; font-weight: 800; font-stretch: 75%;
	font-size: 18px; letter-spacing: 0.07em; text-transform: uppercase; color: #FFFFFF;
	border-color: #2E2B34 !important; padding: 14px 20px;
}
#masthead .ast-mobile-header-content .menu-item > .menu-link:hover { color: #FFE135; }
#masthead .ast-mobile-header-content .current-menu-item > .menu-link { color: #FFE135; background: transparent; }

/* ---------- Footer ---------- */
.site-footer { font-family: 'Bricolage Grotesque', 'Helvetica Neue', Helvetica, sans-serif; font-weight: 500; }
.site-footer .site-primary-footer-wrap { padding: 64px 32px 48px; border-top: 1px solid #2E2B34; }
.site-footer .site-below-footer-wrap { padding: 22px 32px 32px; }
.site-footer .site-primary-footer-wrap .ast-builder-grid-row,
.site-footer .site-below-footer-wrap .ast-builder-grid-row { max-width: 1344px; }
.site-footer .site-primary-footer-wrap .ast-builder-grid-row { grid-column-gap: 56px; }
.site-footer .widget { margin-bottom: 0; }
.site-footer .c3-ft-logo { margin: 0 0 16px; }
.site-footer .c3-ft-logo img { width: 240px; height: auto; border: 2px solid #FFFFFF; transform: rotate(-2deg); display: block; }
.site-footer .c3-ft-tag { font-size: 16px; line-height: 1.5; color: #D6D3DC; margin: 0; max-width: 340px; }
.site-footer .c3-ft-head {
	color: #18C0E6; font-weight: 800; font-stretch: 75%; font-size: 13px; letter-spacing: 0.16em;
	text-transform: uppercase; margin: 0 0 12px; line-height: 1.3;
}
.site-footer .c3-ft-links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.site-footer .c3-ft-links li { margin: 0; }
.site-footer .c3-ft-links a {
	color: #FFFFFF; text-decoration: none; font-weight: 800; font-stretch: 75%; font-size: 16px;
	letter-spacing: 0.06em; text-transform: uppercase;
}
.site-footer .c3-ft-links a:hover { color: #FFE135; }
.site-footer .c3-ft-note { font-size: 15px; line-height: 1.45; color: #D6D3DC; margin: 0 0 10px; }

/* Show-alerts signup (WPForms form 483): email + button on one row */
.site-footer .c3-alerts-form { margin: 0 !important; max-width: 400px; }
.site-footer .c3-alerts-form .wpforms-form { display: flex; flex-wrap: wrap; gap: 8px; align-items: stretch; }
.site-footer .c3-alerts-form .wpforms-form > noscript, .site-footer .c3-alerts-form .wpforms-form > div:not([class]) { flex: 0 0 auto; }
.site-footer .c3-alerts-form .wpforms-field-container { flex: 1 1 180px; min-width: 0; }
.site-footer .c3-alerts-form .wpforms-field { padding: 0 !important; }
.site-footer .c3-alerts-form input[type=email] {
	width: 100% !important; max-width: none !important; min-height: 48px; padding: 0 14px !important; border: 2px solid #FFFFFF !important;
	border-radius: 0 !important; background: #111014 !important; color: #FFFFFF !important; font-family: inherit !important; font-size: 16px !important;
	box-shadow: none !important;
}
.site-footer .c3-alerts-form input[type=email]::placeholder { color: #B9B5C1; opacity: 1; }
.site-footer .c3-alerts-form input[type=email]:focus { outline: 3px solid #18C0E6 !important; outline-offset: 0; }
.site-footer .c3-alerts-form .wpforms-submit-container { padding: 0 !important; margin: 0 !important; flex: 0 0 auto; }
.site-footer .c3-alerts-form button.wpforms-submit {
	min-height: 48px !important; height: 48px; padding: 0 18px !important; background: #FF2E88 !important; color: #111014 !important;
	border: 2px solid #FF2E88 !important; border-radius: 0 !important; font-family: inherit !important; font-weight: 800 !important;
	font-stretch: 75%; font-size: 16px !important; letter-spacing: 0.06em; text-transform: uppercase; cursor: pointer;
	box-shadow: none !important; transition: transform .15s ease, box-shadow .15s ease;
}
.site-footer .c3-alerts-form button.wpforms-submit:hover { transform: translate(-2px, -2px); box-shadow: 5px 5px 0 #FFFFFF !important; }
.site-footer .c3-alerts-form label.wpforms-error { color: #FF2E88 !important; font-size: 14px; margin-top: 6px; }
.site-footer .wpforms-confirmation-container-full { background: transparent !important; border: 2px solid #18C0E6 !important; color: #FFFFFF !important; padding: 12px 14px !important; }
.site-footer .wpforms-confirmation-container-full p { margin: 0; font-weight: 700; }

/* Bottom bar */
.site-footer .ast-footer-copyright, .site-footer .ast-footer-copyright p,
.site-footer .footer-widget-area[data-section="section-fb-html-1"] { font-size: 14px; line-height: 1.6; }
.site-footer .footer-widget-area[data-section="section-fb-html-1"] a { font-weight: 700; }

@media (max-width: 921px) {
	.site-footer .site-primary-footer-wrap .ast-builder-grid-row { grid-row-gap: 40px; }
}
@media (max-width: 767px) {
	#masthead .site-primary-header-wrap { padding-left: 20px; padding-right: 20px; }
	.site-footer .site-primary-footer-wrap { padding: 48px 20px 40px; }
	.site-footer .site-below-footer-wrap { padding-left: 20px; padding-right: 20px; }
	.site-footer .site-below-footer-wrap .ast-builder-grid-row { grid-row-gap: 6px; }
}
@media (prefers-reduced-motion: reduce) {
	#masthead .ast-header-button-1 .ast-custom-button, .site-footer .c3-alerts-form button.wpforms-submit { transition: none; }
}
