/*
 * Site chrome and page-level typography.
 * Values come from the Joomla template's custom CSS and page builder page CSS.
 */

/* ---- Header -------------------------------------------------------------- */
.astroid-nav > li > a, .astroid-sidebar-menu > li > a { font-family: "Roboto Condensed", Arial, Helvetica, sans-serif; }
.astroid-logo img { max-height: 90px !important; }
.astroid-nav .nav-link.active { font-weight: bold; }
.menu-item-badge {
	display: inline-block;
	padding: 1px 6px;
	border-radius: 3px;
	font-size: 11px;
	line-height: 1.4;
	text-transform: lowercase;
	background: rgb(244, 32, 32);
	color: rgb(255, 252, 252) !important;
}
.astroid-logo .site-title { font-family: 'Roboto Condensed', Arial, sans-serif; font-size: 1.6rem; font-weight: 700; color: #ee3324; }

/* WordPress admin bar pushes the sticky header down. */
.admin-bar #astroid-sticky-header { top: 32px; }
@media (max-width: 782px) { .admin-bar #astroid-sticky-header { top: 46px; } }

/* ---- Back to top --------------------------------------------------------- */
#astroid-backtotop { display: none; position: fixed; right: 20px; bottom: 20px; z-index: 999; text-decoration: none; }

/* ---- Title band notice (Careers page posters) ----------------------------- */
.harlow-page-notice { margin-top: 1rem; }
.harlow-page-notice p { margin-bottom: .25rem; }

/* ---- Footer -------------------------------------------------------------- */
#astroid-section-bottom { font-size: 16px; line-height: 1.8; }
#astroid-section-bottom h1,
#astroid-section-bottom h2,
#astroid-section-bottom h3,
#astroid-section-bottom h4 { color: #fff; font-size: 1.5em; margin-bottom: 1.25rem; }
#astroid-section-bottom .wp-block-columns { margin-top: 30px; margin-bottom: 30px; gap: 30px; }
#astroid-section-bottom .wp-block-gallery { gap: 8px; }
.harlow-footer-menu ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0 1.25rem; }
.harlow-footer-menu a { color: inherit; }

/* ---- Page content (blocks) ---------------------------------------------- */
.hw-page-content { padding: 0; }
.hw-page-content:not(.hw-flush) { padding-top: 3rem; padding-bottom: 3rem; }
.hw-page-content .entry-content > .alignfull { margin-top: 0; margin-bottom: 0; }
.hw-page-content .entry-content > :not(.alignfull) { padding-left: 15px; padding-right: 15px; }
.hw-page-content .hw-section,
.hw-page-content .wp-block-cover.alignfull { padding-left: 15px; padding-right: 15px; }

/* Body copy: 20px / 34px on page builder pages. */
.hw-page-content p,
.hw-page-content li { font-size: 20px; line-height: 34px; }

/* Headings: page builder H1s were Eurostile 30px bold, usually uppercase. */
.hw-page-content h1 {
	font-family: eurostile, Arial, sans-serif;
	font-size: 30px;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: #222;
}
.hw-page-content h1.heading-title,
.hw-page-content .heading-title h1 { color: #000; }
.hw-page-content h2 { color: #ee3324; font-size: 2em; }
.hw-page-content h3 { font-size: 1.7em; }
.hw-page-content h4 { font-size: 1.5em; }

/* Section-specific colours from the old custom CSS. */
.news-section h1,
.facility-section h1,
.quality-section h1 { color: #fff; }
.facility-section h2,
.quality-section h2 { color: #000; }
.color-white h2, .color-white h1 { color: #fff; }
.has-text-color h1, .has-text-color h2, .has-text-color h3 { color: inherit; }

/* ---- News (old K2 views) ------------------------------------------------- */
.hw-news-list { display: grid; gap: 30px; }
.hw-news-list__item {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 20px;
	padding: 20px;
	border: 1px solid #f4f4f4;
	background: #fff;
}
@media (min-width: 768px) {
	.hw-news-list__item:has(.hw-news-list__image) { grid-template-columns: 280px minmax(0, 1fr); }
}
.hw-news-list__image img { width: 100%; height: auto; display: block; }
.hw-news-list__date,
.hw-news-item__date { display: block; font-size: 14px; color: #999; margin-bottom: .35rem; }
.hw-news-list__title { font-size: 1.6em; margin-bottom: .75rem; }
.hw-news-list__title a,
.hw-news-item__title { color: #2c2e36; font-family: 'Roboto Condensed', Arial, Helvetica, sans-serif; font-weight: bold; }
.hw-news-list__intro p { font-size: 16px; }
.hw-news-list__more { font-weight: 700; text-transform: uppercase; font-size: 14px; }
.hw-news-item__title { font-size: 2.2em; margin-bottom: 1.5rem; }
.hw-news-item__image { margin: 0 0 1.5rem; }
.hw-news-item__image img { max-width: 100%; height: auto; }
.hw-news-item__body p,
.hw-news-item__body li { font-size: 18px; line-height: 30px; }
.hw-news-item__nav { display: flex; justify-content: space-between; gap: 1rem; margin-top: 2rem; padding-top: 1rem; border-top: 1px solid #eee; }
.pagination .nav-links { display: flex; gap: .5rem; flex-wrap: wrap; margin-top: 25px; }
.pagination .page-numbers { padding: 4px 12px; border: 1px solid #ddd; background: #fff; text-decoration: none; }
.pagination .page-numbers.current { background: #e13533; border-color: #e13533; color: #fff; }

.hw-404-code { font-size: 8rem; color: #ee3324; }

/* Gravity Forms: match the old contact form (square, light borders, red button). */
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper textarea {
	border: 1px solid rgba(48, 48, 48, .1) !important;
	border-radius: 0 !important;
	padding: 15px 20px !important;
	font-size: 14px !important;
	background: #fff;
}
.gform_wrapper .gform_footer { text-align: right; justify-content: flex-end; }
.gform_wrapper .gform_button {
	background: #ee3324 !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 0 !important;
	padding: 12px 50px !important;
	text-transform: uppercase;
}
.gform_wrapper .gform_button:hover { background: #222 !important; }

/* Breadcrumb separator (Joomla used an arrow image here). */
.mod_breadcrumbs .breadcrumb .divider::after { content: "/"; padding: 0 .5rem; color: #999; }
