/* PB Theme: what theme.json cannot express. Colours come from theme.json presets. */

a:focus-visible,
button:focus-visible {
	outline: 3px solid var(--wp--preset--color--accent);
	outline-offset: 2px;
}

/* ---------- Header ---------- */
.pbs-header {
	position: relative;
	z-index: 10;
	background: var(--wp--preset--color--base);
	border-bottom: 1px solid var(--wp--preset--color--line);
}

/* Header floating over a photo header (Sections page (photo header)). */
.pbs-header.is-overlay {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	background: transparent;
	border-bottom: 0;
}

.pbs-header.is-overlay .wp-block-site-title a,
.pbs-header.is-overlay .wp-block-navigation a {
	color: var(--wp--preset--color--on-dark);
}

/* Give a menu item the CSS class is-cta to show it as a button. */
.wp-block-navigation .is-cta > a {
	padding: 0.6em 1.2em;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--on-accent) !important;
	font-weight: 800;
}

.wp-block-navigation .is-cta > a:hover {
	background: var(--wp--preset--color--accent-hi);
}

/* ---------- Text pieces ---------- */
.pbs-eyebrow {
	margin-bottom: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

.pbs-hero h1,
.pbs-contact h2 {
	font-weight: 500;
}

.pbs-hero .pbs-on-dark .wp-block-button__link {
	border-color: var(--wp--preset--color--on-dark);
	color: var(--wp--preset--color--on-dark);
}

/* ---------- Facts band ---------- */
.pbs-facts .pbs-fact {
	margin: 0;
}

/* ---------- Building directory ---------- */
hr.wp-block-separator.pbs-rule-strong {
	width: 100%;
	max-width: none;
	height: 0;
	border: 0;
	border-top: 2px solid var(--wp--preset--color--heading);
	background: none;
	opacity: 1;
}

.pbs-row {
	gap: 0.5rem 1.5rem;
}

.pbs-row > * {
	margin-block: 0;
}

.pbs-row__photo {
	flex: 0 0 120px;
}

.pbs-row__name {
	flex: 2 1 220px;
}

.pbs-row__name a {
	color: var(--wp--preset--color--heading);
	text-decoration: none;
}

.pbs-row__name a:hover {
	color: var(--wp--preset--color--accent);
}

.pbs-row__desc {
	flex: 3 1 260px;
	font-size: var(--wp--preset--font-size--small);
}

.pbs-row__size {
	flex: 1 1 120px;
}

.pbs-row__more {
	flex: 0 0 auto;
}

.wp-block-image img:not([src]) {
	display: none;
}

/* ---------- Numbered sections ---------- */
.pbs-numbered {
	margin: 0;
}

ul.pbs-checklist {
	margin: 0;
	padding: 0;
	list-style: none;
	columns: 2 240px;
	column-gap: 2rem;
}

ul.pbs-checklist li {
	padding: 0.35rem 0;
	break-inside: avoid;
}

/* ---------- Contact band ---------- */
.pbs-contact a,
.pbs-footer a {
	color: var(--wp--preset--color--accent-on-dark);
}

.pbs-contact a:hover,
.pbs-footer a:hover {
	color: var(--wp--preset--color--on-dark);
}

.pbs-contact .wp-block-button__link {
	color: var(--wp--preset--color--on-accent);
}
