/* =========================================================
   Global
   ========================================================= */

.tr-is-hidden {
	display: none !important;
}

body {
	background: var(--tr-bg);
	color: var(--tr-text);
	font-family: var(--tr-font-sans);
	line-height: var(--tr-leading);
	font-size: var(--tr-text-body);
}

body .entry-content,
body .wp-site-blocks,
body .site-main {
	color: var(--tr-text);
}

body .wp-site-blocks {
	position: relative;
	min-height: 100vh;
}

body .wp-site-blocks :where(.alignwide) {
	max-width: min(1640px, calc(100vw - 2rem));
	margin-left: auto;
	margin-right: auto;
}

body .wp-site-blocks :where(.is-layout-constrained) > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	max-width: min(1220px, calc(100vw - 3rem));
	margin-left: auto;
	margin-right: auto;
}

body .entry-content > *:first-child {
	margin-top: 0;
}

body .entry-content h1,
body .entry-content h2,
body .entry-content h3,
body .wp-block-post-title {
	color: var(--tr-text);
	line-height: 1.2;
	margin: 0 0 1rem;
	font-family: var(--tr-font-display);
	letter-spacing: -0.02em;
}

.wp-block-group > .wp-block-post-title {
	max-width: min(1220px, calc(100vw - 3rem)) !important;
	width: auto !important;
	margin-left: auto;
	margin-right: auto;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

body .entry-content h1,
body .wp-block-post-title {
	font-size: clamp(2.4rem, 4.2vw, 4.2rem);
}

body .entry-content h2 {
	font-size: clamp(1.8rem, 3.2vw, 3rem);
}

body .entry-content h3 {
	font-size: clamp(1.3rem, 2.1vw, 2.1rem);
}

body .entry-content a {
	color: var(--tr-primary);
}

body .entry-content a:hover,
body .entry-content a:focus {
	color: var(--tr-primary-hover);
}

.wp-block-site-title a {
	color: var(--tr-primary) !important;
	text-decoration: none !important;
}

.wp-block-site-title a:hover,
.wp-block-site-title a:focus {
	color: var(--tr-primary-hover) !important;
}

body .entry-content hr,
body .job-manager-application-dashboard hr {
	border: 0;
	height: 1px;
	background: rgba(0, 109, 119, 0.18);
	margin: 18px 0;
}

/* =========================================================
   Accessibility
   ========================================================= */

:where(
	a,
	button,
	input,
	select,
	textarea,
	.wp-block-button__link,
	.button
):focus-visible {
	outline: none;
	box-shadow: var(--tr-focus);
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation: none !important;
		transition: none !important;
		scroll-behavior: auto !important;
	}

	.tr-price-card:hover,
	.tr-price-card:focus-within,
	.tr-price-card--featured:hover,
	.tr-price-card--featured:focus-within,
	ul.job_listings li.job_listing:hover,
	ul.job_listings li.job_listing:focus-within,
	.tr-posting-action:hover,
	.tr-posting-action:focus {
		transform: none !important;
	}
}

/* =========================================================
   Notices & Empty States
   ========================================================= */

.tr-notice,
.tra-notice,
.job-manager-message,
.job-manager-info,
.job-manager-error,
.resume-manager-message,
.resume-manager-info,
.resume-manager-error,
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.jm-notice,
.wc-block-components-notice-banner,
p.no_job_listings_found,
p.no_resumes_found {
	max-width: 100%;
	margin: 0 0 1.5rem;
	padding: clamp(0.85rem, 2vw, 1.15rem) clamp(1rem, 2.5vw, 1.35rem);
	border: 1px solid rgba(0, 109, 119, 0.16);
	border-radius: 12px;
	background: linear-gradient(180deg, #FFFFFF 0%, rgba(247, 252, 253, 0.6) 100%);
	box-shadow: 0 8px 24px rgba(12, 31, 45, 0.05);
	color: var(--tr-text);
	box-sizing: border-box;
	display: block;
	clear: both;
	line-height: 1.5;
}

.wc-block-components-notice-banner {
	display: flex !important;
	align-items: center;
	gap: 12px;
}

.wc-block-components-notice-banner svg {
	flex-shrink: 0;
	fill: var(--tr-primary);
}

.wc-block-components-notice-banner__content {
	flex-grow: 1;
}

.tr-notice p,
.tra-notice p,
.jm-notice__message {
	margin: 0;
}

.tra-notice-success,
.job-manager-message,
.resume-manager-message,
.woocommerce-message,
.jm-notice,
.wc-block-components-notice-banner.is-success {
	border-color: rgba(12, 122, 128, 0.25);
	background: linear-gradient(180deg, #FFFFFF 0%, var(--tr-success-bg) 100%);
}

.tra-notice-error,
.job-manager-error,
.resume-manager-error,
.woocommerce-error,
.wc-block-components-notice-banner.is-error {
	border-color: rgba(181, 63, 63, 0.25);
	background: linear-gradient(180deg, #FFFFFF 0%, var(--tr-error-bg) 100%);
}

.wc-block-components-notice-banner.is-error svg {
	fill: var(--tr-error);
}

.woocommerce-message a.button,
.woocommerce-info a.button,
.woocommerce-error a.button,
.wc-block-components-notice-banner__content a.button {
	float: right;
	padding: 6px 12px;
	margin-top: -4px;
	margin-bottom: -4px;
}
