/**
 * Pure Haven IT — Typography lock (loads LAST).
 * Overrides Astra, Elementor, and browser defaults without changing palette or families.
 */

/* Astra global colour resets */
body.ph-body,
body.ph-body.ast-desktop,
body.ph-body.ast-separate-container,
body.ph-body .site,
body.ph-body .site-content,
body.ph-body #content,
body.ph-body #primary,
body.ph-body .ast-container,
body.ph-body .ast-article-single,
body.ph-body .entry-content,
body.ph-body .elementor,
body.ph-body .elementor-widget-container,
body.ph-body .elementor-element {
	color: var(--ph-color-charcoal) !important;
	font-family: var(--ph-font-body) !important;
}

/* Headings — navy Montserrat, never pure black */
body.ph-body h1,
body.ph-body h2,
body.ph-body h3,
body.ph-body h4,
body.ph-body h5,
body.ph-body h6,
body.ph-body .ph-h1,
body.ph-body .ph-h2,
body.ph-body .ph-h3,
body.ph-body .ph-h4,
body.ph-body .entry-content h1,
body.ph-body .entry-content h2,
body.ph-body .entry-content h3,
body.ph-body .elementor-widget-heading .elementor-heading-title {
	font-family: var(--ph-font-heading) !important;
	color: var(--ph-color-navy) !important;
	font-weight: 700 !important;
	line-height: var(--ph-line-height-tight) !important;
}

/* Body copy */
body.ph-body p,
body.ph-body li,
body.ph-body dd,
body.ph-body dt,
body.ph-body span:not([class*="ph-btn"]):not(.ph-trust-strip__number):not(.ph-section-label):not(.ph-feature-panel__badge):not(.ph-feature-panel__tag):not(.ph-contact-trust-badge):not(.ph-feature-row__icon),
body.ph-body .ph-lead,
body.ph-body .entry-content p,
body.ph-body .entry-content li,
body.ph-body .elementor-widget-text-editor {
	font-family: var(--ph-font-body) !important;
	color: var(--ph-color-charcoal) !important;
}

body.ph-body .ph-section-header__text,
body.ph-body .ph-note,
body.ph-body .ph-quote-meta,
body.ph-body .ph-text-muted,
body.ph-body .ph-preview-tile p,
body.ph-body .ph-feature-card p,
body.ph-body .ph-card--service p,
body.ph-body .ph-showcase-card__meta {
	color: #000000 !important;
}

body.ph-body .ph-section-header__eyebrow,
body.ph-body .ph-eyebrow,
body.ph-body .ph-glass-panel__label {
	font-family: var(--ph-font-body) !important;
	color: var(--ph-color-primary) !important;
}

/* Links */
body.ph-body a:not(.ph-btn):not(.wp-block-button__link) {
	color: var(--ph-color-primary);
}

body.ph-body a:not(.ph-btn):hover {
	color: var(--ph-color-primary-hover);
}

body.ph-body .ph-link {
	color: var(--ph-color-primary) !important;
	font-weight: 600 !important;
}

/* Buttons */
body.ph-body .ph-btn,
body.ph-body a.ph-btn {
	font-family: var(--ph-font-body) !important;
	font-weight: 600 !important;
}

body.ph-body .ph-btn--orange,
body.ph-body .ph-btn--blue,
body.ph-body .ph-btn--teal {
	color: var(--ph-color-white) !important;
}

/* Inverse / hero */
body.ph-body .ph-hero .ph-hero__title,
body.ph-body .ph-final-cta .ph-h2,
body.ph-body .ph-page-hero:not(.ph-page-hero--light):not(.ph-page-hero--surface) .ph-page-hero__title,
body.ph-body .ph-text-inverse {
	color: var(--ph-color-text-inverse) !important;
}

body.ph-body .ph-hero .ph-hero__subtitle,
body.ph-body .ph-hero .ph-hero__micro,
body.ph-body .ph-text-inverse-muted,
body.ph-body .ph-page-hero:not(.ph-page-hero--light):not(.ph-page-hero--surface) .ph-page-hero__subtitle {
	color: rgba(255, 255, 255, 0.88) !important;
}

/* Header nav */
body.ph-body .site-header a,
body.ph-body .main-header-menu a,
body.ph-body .ast-builder-menu a {
	font-family: var(--ph-font-body) !important;
	font-weight: 500 !important;
	color: var(--ph-color-navy) !important;
}

body.ph-body .site-header a:hover,
body.ph-body .main-header-menu a:hover {
	color: var(--ph-color-primary) !important;
}

/* Hide Jobs in header only (footer may keep link) */
body.ph-body .site-header a[href*="/jobs"],
body.ph-body .ast-primary-header-bar a[href*="/jobs"],
body.ph-body .ast-header-wrap a[href*="/jobs"],
body.ph-body .main-header-menu .menu-item a[href*="/jobs"] {
	display: none !important;
}

/* Metric numbers — brand blue */
body.ph-body .ph-trust-strip__number,
body.ph-body .ph-counter__value {
	font-family: var(--ph-font-heading) !important;
	color: var(--ph-color-primary) !important;
	font-weight: 700 !important;
}

body.ph-body .ph-trust-strip__label {
	color: var(--ph-color-text-muted) !important;
	font-family: var(--ph-font-body) !important;
}

/* Homepage jobs block hard kill */
body.home .job_listings,
body.home .wpjm-job-board,
body.home .wp-job-manager,
body.home [class*="job-listing"],
body.home .elementor-widget-wp-job-manager-archive,
body.home .ph-split-cta,
body.home .ph-panel-split,
body.home .ph-job-counter {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	overflow: hidden !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

body.home .site-content > .ast-container .entry-header,
body.home .site-content > .ast-container .entry-content,
body.home #primary > .ast-container > article:not(.ph-site-main),
body.home .elementor-location-single {
	display: none !important;
}
