:root {
	--hi-radius: 16px;
	--hi-transition: 180ms ease;
}

html {
	scroll-behavior: smooth;
}

body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

body.admin-bar {
	--wp-admin--admin-bar--height: 32px;
}

.wp-site-blocks {
	overflow: clip;
}

:where(a) {
	text-underline-offset: 0.18em;
	text-decoration-thickness: 0.08em;
}

:where(a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible) {
	outline: 3px solid var(--wp--preset--color--gold);
	outline-offset: 3px;
}

.wp-block-site-title a,
.wp-block-navigation a,
.hi-content-card a,
.hi-event-card a,
.hi-service-card a,
.hi-municipality-card,
.hi-news-feed__link {
	text-decoration: none;
}

.wp-block-navigation .hi-nav-news > a {
	background: var(--wp--preset--color--gold);
	border-radius: 999px;
	color: var(--wp--preset--color--navy) !important;
	padding: 0.55rem 0.9rem;
}

.wp-block-navigation .hi-nav-news > a:hover {
	background: var(--wp--preset--color--sand);
}

.hi-hero-search .wp-block-search__inside-wrapper {
	background: #fff;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 999px;
	box-shadow: var(--wp--preset--shadow--soft);
	padding: 0.45rem;
}

.hi-hero-search .wp-block-search__input {
	border: 0;
	min-height: 3.25rem;
	padding-left: 1rem;
}

.hi-hero-search .wp-block-search__button {
	border-radius: 999px;
	min-width: 3.25rem;
}

.hi-quicklinks-wrap {
	position: relative;
	z-index: 2;
}

.hi-quicklinks {
	align-items: stretch !important;
}

.hi-quicklinks > .wp-block-column {
	min-width: 145px;
}

.hi-quicklink {
	background: #fff;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 14px;
	box-shadow: var(--wp--preset--shadow--card);
	height: 100%;
	padding: 1.1rem;
	transition: transform var(--hi-transition), box-shadow var(--hi-transition), border-color var(--hi-transition);
}

.hi-quicklink:hover {
	border-color: var(--wp--preset--color--petrol);
	box-shadow: var(--wp--preset--shadow--soft);
	transform: translateY(-3px);
}

.hi-quicklink h3,
.hi-quicklink p {
	margin: 0;
}

.hi-quicklink h3 a::after {
	content: " →";
	color: var(--wp--preset--color--petrol);
}

.hi-quicklink--urgent {
	border-color: #b63a36;
}

.hi-quicklink--urgent h3 a {
	color: #8d2724;
}

.hi-event-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	margin-top: 1.5rem;
}

.hi-event-card {
	align-items: flex-start;
	background: #fff;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--hi-radius);
	display: flex;
	gap: 1rem;
	padding: 1rem;
	transition: border-color var(--hi-transition), transform var(--hi-transition), box-shadow var(--hi-transition);
}

.hi-event-card:hover {
	border-color: var(--wp--preset--color--petrol);
	box-shadow: var(--wp--preset--shadow--card);
	transform: translateY(-2px);
}

.hi-event-card__date {
	background: var(--wp--preset--color--navy);
	border-radius: 12px;
	color: #fff;
	flex: 0 0 58px;
	line-height: 1;
	padding: 0.65rem 0.3rem;
	text-align: center;
}

.hi-event-card__day,
.hi-event-card__month {
	display: block;
}

.hi-event-card__day {
	font-size: 1.45rem;
	font-weight: 800;
}

.hi-event-card__month {
	color: var(--wp--preset--color--sand);
	font-size: 0.78rem;
	font-weight: 700;
	margin-top: 0.3rem;
	text-transform: uppercase;
}

.hi-event-card__title {
	font-size: 1.05rem;
	line-height: 1.28;
	margin: 0;
}

.hi-event-card__meta {
	color: #52626d;
	font-size: 0.86rem;
	margin: 0.45rem 0 0;
}

.hi-card-query .wp-block-post-template,
.hi-service-query .wp-block-post-template {
	align-items: stretch;
}

.hi-content-card,
.hi-service-card {
	background: #fff;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--hi-radius);
	height: 100%;
	overflow: hidden;
	padding: 1rem;
	transition: border-color var(--hi-transition), transform var(--hi-transition), box-shadow var(--hi-transition);
}

.hi-content-card:hover,
.hi-service-card:hover {
	border-color: var(--wp--preset--color--petrol);
	box-shadow: var(--wp--preset--shadow--card);
	transform: translateY(-3px);
}

.hi-content-card .wp-block-post-featured-image {
	margin: -1rem -1rem 1rem;
}

.hi-content-card .wp-block-post-featured-image img {
	width: 100%;
}

.hi-content-card .wp-block-post-terms,
.hi-service-card .wp-block-post-terms {
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.hi-content-card .wp-block-post-title,
.hi-service-card .wp-block-post-title {
	margin-block: 0.45rem 0.7rem;
}

.hi-content-card .wp-block-post-excerpt,
.hi-service-card .wp-block-post-excerpt {
	color: #495963;
}

.hi-service-links {
	gap: 0.8rem;
}

.hi-service-links p {
	margin: 0;
}

.hi-service-links a {
	align-items: center;
	background: var(--wp--preset--color--cloud);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 12px;
	display: flex;
	font-weight: 700;
	justify-content: space-between;
	min-height: 68px;
	padding: 0.9rem 1rem;
	text-decoration: none;
	transition: background var(--hi-transition), border-color var(--hi-transition), transform var(--hi-transition);
}

.hi-service-links a:hover {
	background: #fff;
	border-color: var(--wp--preset--color--petrol);
	transform: translateX(3px);
}

.hi-municipality-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.75rem;
	margin-top: 1.75rem;
}

.hi-municipality-card {
	align-items: center;
	background: rgba(255,255,255,0.08);
	border: 1px solid rgba(255,255,255,0.18);
	border-radius: 12px;
	color: #fff !important;
	display: flex;
	font-weight: 700;
	justify-content: space-between;
	padding: 0.85rem 1rem;
	transition: background var(--hi-transition), border-color var(--hi-transition), transform var(--hi-transition);
}

.hi-municipality-card:hover {
	background: rgba(255,255,255,0.15);
	border-color: var(--wp--preset--color--sand);
	transform: translateY(-2px);
}

.hi-municipality-card__arrow {
	color: var(--wp--preset--color--sand);
}

.hi-news-feed__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.hi-news-feed__item {
	border-bottom: 1px solid var(--wp--preset--color--line);
	padding: 1rem 0;
}

.hi-news-feed__item:first-child {
	padding-top: 0;
}

.hi-news-feed__link {
	display: block;
	font-size: 1.08rem;
	font-weight: 750;
	line-height: 1.3;
}

.hi-news-feed__date {
	color: #65737c;
	display: block;
	font-size: 0.8rem;
	margin-top: 0.35rem;
}

.hi-news-feed__excerpt {
	color: #4d5d67;
	font-size: 0.92rem;
	margin: 0.45rem 0 0;
}

.hi-fact-box {
	background: var(--wp--preset--color--cloud);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--hi-radius);
	padding: 1.25rem;
	position: sticky;
	top: 1.5rem;
}

.admin-bar .hi-fact-box {
	top: calc(1.5rem + 32px);
}

.hi-fact-box__title {
	font-size: 1.35rem;
	margin-top: 0;
}

.hi-fact-box__list {
	margin: 0;
}

.hi-fact-box__row {
	border-top: 1px solid var(--wp--preset--color--line);
	padding: 0.75rem 0;
}

.hi-fact-box__row dt {
	color: #52626d;
	font-size: 0.76rem;
	font-weight: 750;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.hi-fact-box__row dd {
	margin: 0.2rem 0 0;
}

.hi-fact-box__links {
	display: grid;
	gap: 0.55rem;
	margin-top: 1rem;
}

.hi-fact-box__button {
	background: var(--wp--preset--color--petrol);
	border-radius: 999px;
	color: #fff !important;
	font-size: 0.9rem;
	font-weight: 700;
	padding: 0.65rem 0.9rem;
	text-align: center;
	text-decoration: none;
}

.hi-fact-box__button:hover {
	background: var(--wp--preset--color--petrol-dark);
}

.hi-fact-box__review {
	color: #63717a;
	font-size: 0.76rem;
	margin: 1rem 0 0;
}

.hi-ad-slot {
	margin-block: 1.5rem;
	max-width: 100%;
}

.hi-ad {
	position: relative;
}

.hi-ad__label {
	background: rgba(255,255,255,0.9);
	border-radius: 3px;
	color: #33424b;
	font-size: 0.66rem;
	left: 0.4rem;
	letter-spacing: 0.04em;
	padding: 0.14rem 0.35rem;
	position: absolute;
	text-transform: uppercase;
	top: 0.4rem;
	z-index: 2;
}

.hi-ad__image {
	border-radius: 10px;
	display: block;
	height: auto;
	max-width: 100%;
	width: 100%;
}

.hi-admin-note,
.hi-empty-state,
.hi-feed-error {
	background: var(--wp--preset--color--sand);
	border-left: 4px solid var(--wp--preset--color--gold);
	border-radius: 6px;
	padding: 0.85rem 1rem;
}

.hi-search-result {
	border-bottom: 1px solid var(--wp--preset--color--line);
	padding-block: 1.25rem;
}

.hi-footer-links {
	list-style: none;
	margin: 0;
	padding: 0;
}

.hi-footer-links li {
	margin: 0 0 0.55rem;
}

.hi-footer-links a,
footer a {
	color: #fff;
}

.hi-footer-links a:hover,
footer a:hover {
	color: var(--wp--preset--color--sand);
}

.wp-block-query-pagination {
	margin-top: 2.5rem;
}

.wp-block-query-pagination a,
.wp-block-query-pagination .page-numbers {
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 999px;
	padding: 0.45rem 0.8rem;
	text-decoration: none;
}

.wp-block-query-pagination .current {
	background: var(--wp--preset--color--petrol);
	border-color: var(--wp--preset--color--petrol);
	color: #fff;
}

@media (max-width: 980px) {
	.hi-event-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hi-municipality-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.hi-quicklinks {
		flex-wrap: wrap !important;
	}

	.hi-quicklinks > .wp-block-column {
		flex-basis: calc(33.333% - 1rem) !important;
	}
}

@media (max-width: 781px) {
	.hi-fact-box {
		position: static;
	}

	.hi-municipality-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hi-service-links {
		grid-template-columns: 1fr !important;
	}
}

@media (max-width: 620px) {
	body {
		--wp--style--root--padding-left: 1rem;
		--wp--style--root--padding-right: 1rem;
	}

	.hi-event-grid {
		grid-template-columns: 1fr;
	}

	.hi-municipality-grid {
		grid-template-columns: 1fr;
	}

	.hi-quicklinks > .wp-block-column {
		flex-basis: calc(50% - 0.75rem) !important;
	}

	.hi-quicklinks-wrap {
		margin-top: -1.25rem !important;
	}

	.wp-block-navigation__responsive-container.is-menu-open {
		padding: 1.25rem;
	}
}

@media (max-width: 400px) {
	.hi-quicklinks > .wp-block-column {
		flex-basis: 100% !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}
