/* ==========================================================================
   Guide to Museums (rendered by [wyohs_museums] and [wyohs_museum])

   The card is the Our Blog card, deliberately: sand field, dark-brown serif
   name over a hairline, condensed-caps place line, a cream region badge on the
   plate where the blog puts its series badge, and a dark foot bar. The two
   pages then read as one system, and a reader who has used the blog grid
   already knows how this one works.

   Three things it does not borrow. There is no featured treatment, because no
   museum outranks another. The plate is 3:2 like the blog but a museum without
   a photograph gets a drawn pediment rather than an empty field, since most of
   them have no picture yet and a grid of holes reads as broken. And the find
   box is the Regions county chooser idiom, an underlined line of type, not a
   boxed control: the theme dresses search inputs heavily and a bare line wins
   that argument instead of fighting it.

   Sizes are px on purpose: the BB theme sets html font-size to 62.5%.
   ========================================================================== */

.wyohs-museums {
	--mus-cols-max: 4;
	--mus-cols: var(--mus-cols-max);
	--mus-gap: 24px;
	--mus-card-bg: var(--wyohs-sand, #d2a56c);
	--mus-card-ink: #2c1f17;
	--mus-rule: #2c1f17;
	--mus-foot-bg: #2c1f17;
	--mus-foot-fg: #fff;
	--mus-badge-bg: var(--wyohs-cream, #fff8e7);
	--mus-badge-fg: var(--wyohs-ink, #1a1a1a);
	--mus-control: var(--wyohs-navy, #1b3a5c);
	--mus-control-fg: var(--wyohs-peach, #f6d7b3);
	--mus-accent: var(--wyohs-sand, #d2a56c);
	--mus-display: var(--wyohs-display, 'Special Gothic Condensed One', 'Arial Narrow', sans-serif);
	--mus-meta: 'Special Gothic', 'Helvetica Neue', Arial, sans-serif;
	--mus-serif: var(--wyohs-serif, 'Young Serif', Georgia, serif);

	/* The host column zeroes module margins with !important, so the component
	   must not rely on them. Everything below spaces itself with padding. */
	width: 100%;
	margin-left: 0;
	margin-right: 0;
}

/* ---------- controls ----------------------------------------------------- */

.wyohs-museums__controls {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 16px 28px;
	margin: 0 0 30px;
}

/* The find box. An underlined line of type, as on the Regions page: the theme
   gives every search input a box, a border and a background with enough
   specificity that a single class loses, so the selector names the input by
   type and by class both. */
.wyohs-museums__find {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.wyohs-museums__find label {
	font-family: var(--mus-meta);
	font-size: 11.5px;
	line-height: 1.2;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--wyohs-ink, #1a1a1a);
}

.wyohs-museums__find input[type="search"].wyohs-museums__input {
	width: 260px;
	max-width: 100%;
	margin: 0;
	padding: 4px 2px 7px;
	border: 0;
	border-bottom: 2px solid var(--mus-control);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	outline-offset: 3px;
	font-family: var(--mus-serif);
	font-size: 18px;
	line-height: 1.3;
	color: var(--wyohs-ink, #1a1a1a);
	-webkit-appearance: none;
	appearance: none;
}

.wyohs-museums__find input[type="search"].wyohs-museums__input::placeholder {
	color: rgba(26, 26, 26, .45);
	font-size: 16px;
}

/* ---------- region filters ---------------------------------------------- */

.wyohs-museums__filters {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin: 0;
}

.wyohs-museums__filter {
	margin: 0;
	padding: 11px 18px 9px;
	border: 2px solid var(--mus-control);
	border-radius: 0;
	background: transparent;
	color: var(--mus-control);
	font-family: var(--mus-display);
	font-weight: 400;
	font-size: 17px;
	line-height: 1;
	letter-spacing: 2px;
	text-transform: uppercase;
	cursor: pointer;
	transition: background .15s ease, color .15s ease;
}

.wyohs-museums__filter:hover,
.wyohs-museums__filter:focus-visible {
	background: var(--mus-control);
	color: var(--mus-control-fg);
}

.wyohs-museums__filter.is-active {
	background: var(--mus-control);
	color: var(--mus-control-fg);
}

.wyohs-museums__tally {
	display: inline-block;
	margin-left: 6px;
	font-family: var(--mus-meta);
	font-size: 11px;
	letter-spacing: 1px;
	opacity: .75;
}

.wyohs-museums__count {
	flex: 1 1 auto;
	margin: 0;
	text-align: right;
	font-family: var(--mus-meta);
	font-size: 11.5px;
	line-height: 1.2;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: rgba(26, 26, 26, .7);
}

/* ---------- the grid ----------------------------------------------------- */

.wyohs-museums__grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(var(--mus-cols), minmax(0, 1fr));
	gap: var(--mus-gap);
	align-items: stretch;
}

.wyohs-museums__item {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
}

.wyohs-museums__item[hidden] { display: none; }

.wyohs-museums__card {
	display: flex;
	flex-direction: column;
	width: 100%;
	background: var(--mus-card-bg);
	color: var(--mus-card-ink);
	transition: transform .15s ease;
}

.wyohs-museums__card:hover { transform: translateY(-2px); }

/* ---------- the plate ---------------------------------------------------- */

.wyohs-museums__media {
	position: relative;
	display: block;
	width: 100%;
	max-width: 100%;
	aspect-ratio: 3 / 2;
	overflow: hidden;
	background: var(--mus-card-ink);
	flex: 0 0 auto;
}

.wyohs-museums__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* No photograph yet: a pediment drawn in CSS on the same dark field. Drawn
   rather than placed, because the firewall rejects any save whose body holds a
   literal inline vector tag, and because this has to look deliberate at every
   card size. The roof is a border triangle, the colonnade a repeating
   gradient, both on pseudo-elements so the markup carries nothing extra. */
.wyohs-museums__media--empty::before,
.wyohs-museums__media--empty::after {
	content: "";
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	opacity: .38;
}

.wyohs-museums__media--empty::before {
	top: calc(50% - 26px);
	width: 0;
	height: 0;
	border-left: 39px solid transparent;
	border-right: 39px solid transparent;
	border-bottom: 21px solid var(--mus-accent);
}

.wyohs-museums__media--empty::after {
	top: calc(50% - 3px);
	width: 62px;
	height: 30px;
	border-bottom: 4px solid var(--mus-accent);
	background-image: repeating-linear-gradient(
		to right,
		var(--mus-accent) 0 8px,
		transparent 8px 18px
	);
	background-size: 100% 26px;
	background-repeat: no-repeat;
}

.wyohs-museums__badge {
	position: absolute;
	left: 16px;
	bottom: 14px;
	padding: 5px 9px;
	background: var(--mus-badge-bg);
	color: var(--mus-badge-fg);
	font-family: var(--mus-meta);
	font-size: 11px;
	line-height: 1.2;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	border-radius: 3px;
}

/* ---------- the body ----------------------------------------------------- */

.wyohs-museums__body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	padding: 20px 18px 0;
}

.wyohs-museums__eyebrow {
	margin: 0 0 .9em;
	font-family: var(--mus-meta);
	font-weight: 400;
	font-size: 11.5px;
	line-height: 1.2;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--mus-card-ink);
}

/* .fl-builder-content h3 is (0,1,1) and sets every h3 inside builder content
   in the condensed display face, uppercase. A bare component class loses to
   it, so the parent is named and the face, case and tracking are restated. */
.wyohs-museums .wyohs-museums__title {
	margin: 0 0 .6em;
	padding-bottom: .55em;
	border-bottom: 1px solid var(--mus-rule);
	font-family: var(--mus-serif);
	font-weight: 400;
	font-size: 21px;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: none;
	color: var(--mus-card-ink);
}

.wyohs-museums .wyohs-museums__title a {
	color: inherit;
	text-decoration: none;
	background: none;
}

.wyohs-museums .wyohs-museums__title a:hover,
.wyohs-museums .wyohs-museums__title a:focus-visible {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.wyohs-museums__address,
.wyohs-museums__phone {
	margin: 0 0 .5em;
	font-family: var(--mus-meta);
	font-size: 13px;
	line-height: 1.5;
	color: var(--mus-card-ink);
}

.wyohs-museums__address { flex: 1 1 auto; }

.wyohs-museums__phone a {
	color: inherit;
	text-decoration: none;
	border-bottom: 1px solid rgba(44, 31, 23, .4);
}

.wyohs-museums__phone a:hover { border-bottom-color: currentColor; }

.wyohs-museums__more,
.wyohs-museums__more:visited {
	display: block;
	margin: 14px -18px 0;
	padding: 13px 18px 11px;
	background: var(--mus-foot-bg);
	color: var(--mus-foot-fg) !important;
	font-family: var(--mus-display);
	font-weight: 400;
	font-size: 18px;
	line-height: 1.2;
	letter-spacing: 2px;
	text-transform: uppercase;
	text-decoration: none;
	transition: filter .15s ease;
}

.wyohs-museums__more::after {
	content: " >";
	font-size: .7em;
	vertical-align: .08em;
}

.wyohs-museums__more:hover,
.wyohs-museums__more:focus-visible { filter: brightness(1.35); }

.wyohs-museums__none {
	margin: 40px 0 0;
	font-family: var(--mus-serif);
	font-size: 18px;
	color: rgba(26, 26, 26, .7);
}

/* ---------- the grid narrows ---------------------------------------------- */

@media (max-width: 1200px) {
	.wyohs-museums { --mus-cols: min(var(--mus-cols-max), 3); }
}

@media (max-width: 900px) {
	.wyohs-museums { --mus-cols: min(var(--mus-cols-max), 2); }
	.wyohs-museums__count { flex-basis: 100%; text-align: left; }
}

@media (max-width: 560px) {
	.wyohs-museums {
		--mus-cols: 1;
		--mus-gap: 20px;
	}
	.wyohs-museums__controls { gap: 14px 18px; }
	.wyohs-museums__find input[type="search"].wyohs-museums__input { width: 100%; }
	.wyohs-museums__find { flex-basis: 100%; }
	.wyohs-museums__filter { font-size: 15px; padding: 9px 13px 7px; letter-spacing: 1.5px; }
}

/* ==========================================================================
   One museum's own page ([wyohs_museum])
   ========================================================================== */

.wyohs-museum {
	width: 100%;
	margin-left: 0;
	margin-right: 0;
}

.wyohs-museum__head {
	display: flex;
	flex-wrap: wrap;
	gap: 34px;
	align-items: flex-start;
	margin: 0 0 40px;
}

.wyohs-museum__figure {
	flex: 0 0 46%;
	width: 46%;
	max-width: 100%;
	margin: 0;
}

.wyohs-museum__plate {
	position: relative;
	width: 100%;
	max-width: 100%;
	aspect-ratio: 3 / 2;
	overflow: hidden;
	background: #2c1f17;
}

.wyohs-museum__plate img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* With no photograph there is no plate at all (see the note in museums.php),
   so the facts take the whole measure rather than sitting beside a hole. */
.wyohs-museum__head--plain /* Photograph credit. Small, muted, and under the picture it belongs to --
   an obligation of the CC BY and CC BY-SA licences the Commons pictures carry,
   not decoration, so it stays legible without competing with the record. */
.wyohs-museum__credit {
	margin: 8px 0 0;
	font-family: 'Special Gothic', 'Helvetica Neue', Arial, sans-serif;
	font-size: 11px;
	line-height: 1.45;
	color: rgba(26, 26, 26, .6);
}

.wyohs-museum__credit a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.wyohs-museum__facts {
	flex: 1 1 100%;
	max-width: 780px;
}

.wyohs-museum__facts {
	flex: 1 1 320px;
	min-width: 0;
}

.wyohs-museum__eyebrow {
	margin: 0 0 18px;
	font-family: 'Special Gothic', 'Helvetica Neue', Arial, sans-serif;
	font-size: 12px;
	line-height: 1.2;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	color: rgba(26, 26, 26, .72);
}

.wyohs-museum__list {
	margin: 0 0 26px;
	padding: 0;
	display: grid;
	grid-template-columns: 132px minmax(0, 1fr);
	gap: 0;
}

.wyohs-museum__list dt {
	margin: 0;
	padding: 13px 16px 13px 0;
	border-top: 1px solid rgba(26, 26, 26, .18);
	font-family: var(--wyohs-display, 'Special Gothic Condensed One', 'Arial Narrow', sans-serif);
	font-size: 15px;
	line-height: 1.4;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: rgba(26, 26, 26, .72);
}

.wyohs-museum__list dd {
	margin: 0;
	padding: 13px 0;
	border-top: 1px solid rgba(26, 26, 26, .18);
	font-family: var(--wyohs-serif, 'Young Serif', Georgia, serif);
	font-size: 17px;
	line-height: 1.55;
	color: var(--wyohs-ink, #1a1a1a);
}

.wyohs-museum__list dd a {
	color: inherit;
	text-decoration: none;
	border-bottom: 1px solid var(--wyohs-sand, #d2a56c);
}

.wyohs-museum__list dd a:hover { border-bottom-color: currentColor; }

.wyohs-museum__site,
.wyohs-museum__site:visited {
	display: inline-block;
	padding: 14px 26px 12px;
	background: var(--wyohs-navy, #1b3a5c);
	color: var(--wyohs-peach, #f6d7b3) !important;
	font-family: var(--wyohs-display, 'Special Gothic Condensed One', 'Arial Narrow', sans-serif);
	font-size: 18px;
	line-height: 1.2;
	letter-spacing: 2px;
	text-transform: uppercase;
	text-decoration: none;
	transition: filter .15s ease;
}

.wyohs-museum__site::after {
	content: " >";
	font-size: .7em;
	vertical-align: .08em;
}

.wyohs-museum__site:hover { filter: brightness(1.2); }

.wyohs-museum__about {
	margin: 0 0 48px;
	max-width: 760px;
	font-family: var(--wyohs-serif, 'Young Serif', Georgia, serif);
	font-size: 18px;
	line-height: 1.7;
	color: var(--wyohs-ink, #1a1a1a);
}

.wyohs-museum__about p { margin: 0 0 1.1em; }

/* The section head is the site's interior value: Young Serif 34, left, ink. */
.wyohs-museum .wyohs-museum__near-head {
	margin: 0 0 26px;
	font-family: var(--wyohs-serif, 'Young Serif', Georgia, serif);
	font-weight: 400;
	font-size: 34px;
	line-height: 1.18;
	letter-spacing: 0;
	text-transform: none;
	color: #1a1a1a;
}

.wyohs-museum__near { margin: 0 0 44px; }

.wyohs-museum__back {
	margin: 0;
	padding-top: 26px;
	border-top: 2px solid rgba(26, 26, 26, .22);
	font-family: var(--wyohs-display, 'Special Gothic Condensed One', 'Arial Narrow', sans-serif);
	font-size: 19px;
	letter-spacing: 2px;
	text-transform: uppercase;
}

.wyohs-museum__back a {
	color: var(--wyohs-navy, #1b3a5c);
	text-decoration: none;
}

.wyohs-museum__back a::before {
	content: "< ";
	font-size: .7em;
	vertical-align: .08em;
}

.wyohs-museum__back a:hover { text-decoration: underline; }

@media (max-width: 860px) {
	.wyohs-museum__head { gap: 26px; }
	.wyohs-museum__figure { flex-basis: 100%; width: 100%; }
	.wyohs-museum .wyohs-museum__near-head { font-size: 28px; }
}

@media (max-width: 560px) {
	.wyohs-museum__list { grid-template-columns: 1fr; }
	.wyohs-museum__list dt { padding-bottom: 0; border-top-width: 1px; }
	.wyohs-museum__list dd { padding-top: 4px; border-top: 0; }
	.wyohs-museum__site { display: block; text-align: center; }
}

/* -- Live lists on a museum record page ----------------------------------- *
 *
 * `[wyohs_museum]` prints two of these: the exhibitions this museum is
 * hosting, from WyoHS_Exhibitions::list_for_museum(), and the calendar events
 * at its venue(s), from WyoHS_Venues::events_list(). Both render here rather
 * than on /exhibitions/, which is why these rules live in museums.css and not
 * in exhibitions.css — that sheet only enqueues on the exhibitions routes.
 *
 * The device is the file row: a serif title at the left, a condensed-caps
 * date pushed right, one hairline per row, a sand chevron on hover. Same
 * shape as Governing Documents and the Oral History downloads, at a smaller
 * measure because this is a sidebar-weight list inside a record page.
 * -------------------------------------------------------------------------- */

.wyohs-venue-events {
	margin: 0 0 34px;
	max-width: 780px;
}

.wyohs-venue-events + .wyohs-venue-events {
	margin-top: -8px;
}

/* h2 is unaffected by the `.fl-builder-content h3` trap, but the parent is
   named anyway so this matches how every other head on the page is written. */
.wyohs-venue-events .wyohs-venue-events__head {
	margin: 0 0 4px;
	padding: 0;
	font-family: var(--wyohs-serif, 'Young Serif', Georgia, serif);
	font-weight: 400;
	font-size: 24px;
	line-height: 1.25;
	letter-spacing: 0;
	text-transform: none;
	color: var(--wyohs-navy, #1b3a5c);
}

.wyohs-venue-events ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.wyohs-venue-events li {
	margin: 0;
	padding: 0;
	border-top: 1px solid rgba(26, 26, 26, .18);
}

.wyohs-venue-events li:last-child {
	border-bottom: 1px solid rgba(26, 26, 26, .18);
}

.wyohs-venue-events li a,
.wyohs-venue-events li a:visited {
	display: flex;
	align-items: baseline;
	gap: 8px 20px;
	padding: 13px 0;
	color: var(--wyohs-ink, #1a1a1a);
	text-decoration: none;
	border-bottom: 0;
}

.wyohs-venue-events__title {
	flex: 1 1 auto;
	min-width: 0;
	font-family: var(--wyohs-serif, 'Young Serif', Georgia, serif);
	font-size: 19px;
	line-height: 1.35;
}

.wyohs-venue-events__when {
	flex: 0 0 auto;
	font-family: var(--wyohs-display, 'Special Gothic Condensed One', 'Arial Narrow', sans-serif);
	font-size: 14px;
	line-height: 1.5;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: rgba(26, 26, 26, .66);
}

.wyohs-venue-events__when::after {
	content: " \203A";
	margin-left: 10px;
	color: var(--wyohs-sand, #d2a56c);
	letter-spacing: 0;
}

.wyohs-venue-events li a:hover .wyohs-venue-events__title,
.wyohs-venue-events li a:focus-visible .wyohs-venue-events__title {
	text-decoration: underline;
	text-decoration-color: var(--wyohs-sand, #d2a56c);
	text-underline-offset: 3px;
}

.wyohs-venue-events li a:hover .wyohs-venue-events__when {
	color: var(--wyohs-ink, #1a1a1a);
}

@media (max-width: 560px) {
	.wyohs-venue-events li a,
	.wyohs-venue-events li a:visited {
		display: block;
	}

	.wyohs-venue-events__when {
		display: block;
		margin-top: 3px;
	}
}

/* ==========================================================================
   The native record page (Themer "WHS Museum Entries (Native)", post 1872)

   Since 2 Oct 2026 a museum's page is built from Beaver Builder modules
   rather than one [wyohs_museum] block, so staff can edit headings, labels
   and order in the builder. Each fact is its own Text Editor module carrying
   [wpbb post:acf ...] shortcodes and hidden by conditional logic when its
   field is empty; the photo is a Photo module connected to the featured
   image; "Also in the ..." is a Posts module with a custom post layout that
   reprints the directory card. Only the two live lists stay shortcodes:
   [wyohs_museum part="exhibitions"] and part="events".

   Module classes below are set in each module's Advanced > Class field.
   ========================================================================== */

/* Every module on these rows sits flush with the row edges, as the old
   single block did. Vertical rhythm comes from the row margins further down. */
.fl-row.wyohs-museum-page .fl-module,
.fl-row.wyohs-museum-page .fl-module-content {
	margin-left: 0;
	margin-right: 0;
	margin-top: 0;
	margin-bottom: 0;
}

.fl-row.wyohs-museum-head { margin-bottom: 40px; }
.fl-row.wyohs-museum-about { margin-bottom: 48px; }
.fl-row.wyohs-museum-live { margin-bottom: 34px; }
.fl-row.wyohs-museum-near { margin-bottom: 44px; }

/* ---------- photo column + facts column --------------------------------- */

.wyohs-museum-head .wyohs-museum__facts-col > .fl-col-content {
	padding-left: 34px;
}

/* No photograph: the photo column is removed by its conditional logic, so
   the facts column is left on its own and takes the measure. */
.wyohs-museum-head .fl-col.wyohs-museum__facts-col:only-child {
	width: 100%;
	max-width: 780px;
}

.wyohs-museum-head .wyohs-museum__facts-col:only-child > .fl-col-content {
	padding-left: 0;
}

.wyohs-museum__photo .fl-photo-content {
	display: block;
	position: relative;
	width: 100%;
	aspect-ratio: 3 / 2;
	overflow: hidden;
	background: #2c1f17;
}

.wyohs-museum__photo .fl-photo-content img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* The credit is the attachment caption. CC BY and CC BY-SA require it
   wherever the picture appears, so it stays legible. */
.wyohs-museum__photo .fl-photo-caption {
	margin: 8px 0 0;
	padding: 0;
	text-align: left;
	font-family: 'Special Gothic', 'Helvetica Neue', Arial, sans-serif;
	font-size: 11px;
	line-height: 1.45;
	color: rgba(26, 26, 26, .6);
}

.wyohs-museum__photo .fl-photo-caption a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.fl-rich-text.wyohs-museum__eyebrow p {
	margin: 0 0 18px;
	font-family: 'Special Gothic', 'Helvetica Neue', Arial, sans-serif;
	font-size: 12px;
	line-height: 1.2;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	color: rgba(26, 26, 26, .72);
}

/* One fact per module: first paragraph is the label, the rest the value. */
.fl-rich-text.wyohs-museum__fact {
	display: grid;
	grid-template-columns: 132px minmax(0, 1fr);
	border-top: 1px solid rgba(26, 26, 26, .18);
}

.fl-rich-text.wyohs-museum__fact p {
	grid-column: 2;
	margin: 0;
	padding: 13px 0;
	font-family: var(--wyohs-serif, 'Young Serif', Georgia, serif);
	font-size: 17px;
	line-height: 1.55;
	color: var(--wyohs-ink, #1a1a1a);
}

.fl-rich-text.wyohs-museum__fact p:first-child {
	grid-column: 1;
	padding-right: 16px;
	font-family: var(--wyohs-display, 'Special Gothic Condensed One', 'Arial Narrow', sans-serif);
	font-size: 15px;
	line-height: 1.4;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: rgba(26, 26, 26, .72);
}

.fl-rich-text.wyohs-museum__fact p + p { padding-top: 0; }
.fl-rich-text.wyohs-museum__fact p:nth-child(2) { padding-top: 13px; }

.fl-rich-text.wyohs-museum__fact a {
	color: inherit;
	text-decoration: none;
	border-bottom: 1px solid var(--wyohs-sand, #d2a56c);
}

.fl-rich-text.wyohs-museum__fact a:hover { border-bottom-color: currentColor; }

.wyohs-museum__site-btn { padding-top: 26px; }

.fl-row.wyohs-museum-page .wyohs-museum__site-btn a.fl-button,
.fl-row.wyohs-museum-page .wyohs-museum__site-btn a.fl-button:visited {
	display: inline-block;
	padding: 14px 26px 12px;
	border: 0;
	border-radius: 0;
	background: var(--wyohs-navy, #1b3a5c);
	color: var(--wyohs-peach, #f6d7b3);
	font-family: var(--wyohs-display, 'Special Gothic Condensed One', 'Arial Narrow', sans-serif);
	font-size: 18px;
	line-height: 1.2;
	letter-spacing: 2px;
	text-transform: uppercase;
	text-decoration: none;
	transition: filter .15s ease;
}

.fl-row.wyohs-museum-page .wyohs-museum__site-btn a.fl-button .fl-button-text {
	color: inherit;
	font: inherit;
	letter-spacing: inherit;
}

.fl-row.wyohs-museum-page .wyohs-museum__site-btn a.fl-button .fl-button-text::after {
	content: " >";
	font-size: .7em;
	vertical-align: .08em;
}

.fl-row.wyohs-museum-page .wyohs-museum__site-btn a.fl-button:hover { filter: brightness(1.2); }

/* ---------- about ------------------------------------------------------- */

.fl-rich-text.wyohs-museum__about { max-width: 760px; }

.fl-rich-text.wyohs-museum__about p {
	margin: 0 0 1.1em;
	font-family: var(--wyohs-serif, 'Young Serif', Georgia, serif);
	font-size: 18px;
	line-height: 1.7;
	color: var(--wyohs-ink, #1a1a1a);
}

/* ---------- live lists -------------------------------------------------- */

.fl-row.wyohs-museum-live .fl-module { max-width: 780px; }

.fl-row.wyohs-museum-page .fl-heading.wyohs-museum__section-head {
	margin: 0 0 4px;
	padding: 0;
	font-family: var(--wyohs-serif, 'Young Serif', Georgia, serif);
	font-weight: 400;
	font-size: 24px;
	line-height: 1.25;
	letter-spacing: 0;
	text-transform: none;
	color: var(--wyohs-navy, #1b3a5c);
}

.wyohs-museum__live-list .wyohs-venue-events { margin: 0; }

/* An empty list prints nothing, so its heading goes too. Not in the builder,
   where the row has to stay visible to be edited. */
body:not(.fl-builder-edit) .fl-row.wyohs-museum-live:not(:has(.wyohs-venue-events li)) {
	display: none;
}

/* ---------- also in the region ------------------------------------------ */

.fl-row.wyohs-museum-page .fl-heading.wyohs-museum__near-head {
	margin: 0 0 26px;
	font-family: var(--wyohs-serif, 'Young Serif', Georgia, serif);
	font-weight: 400;
	font-size: 34px;
	line-height: 1.18;
	letter-spacing: 0;
	text-transform: none;
	color: #1a1a1a;
}

.wyohs-museum__near-posts .fl-post-grid,
.wyohs-museum__near-posts .fl-post-grid > ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.wyohs-museum__near-posts .fl-post-grid > ul {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	align-items: stretch;
}

.wyohs-museum__near-posts .fl-post-grid .fl-post-column {
	display: flex;
	float: none;
	width: auto !important;
	padding: 0 !important;
	margin: 0;
}

.wyohs-museum__near-posts .fl-post-grid .fl-post-grid-post {
	display: flex;
	width: 100%;
	height: auto !important;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
}

/* The directory card pushes its foot bar down with the address line; this
   card has no address, so the bar takes the slack itself. */
.wyohs-museum__near-posts .wyohs-museums__card .wyohs-museums__more {
	margin-top: auto;
}

@media (max-width: 900px) {
	.wyohs-museum__near-posts .fl-post-grid > ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 768px) {
	.wyohs-museum-head .wyohs-museum__facts-col > .fl-col-content { padding-left: 0; padding-top: 26px; }
	.wyohs-museum-head .wyohs-museum__facts-col:only-child > .fl-col-content { padding-top: 0; }
	.fl-row.wyohs-museum-page .fl-heading.wyohs-museum__near-head { font-size: 28px; }
}

@media (max-width: 560px) {
	.wyohs-museum__near-posts .fl-post-grid > ul { grid-template-columns: 1fr; gap: 20px; }
	.fl-rich-text.wyohs-museum__fact { grid-template-columns: 1fr; }
	.fl-rich-text.wyohs-museum__fact p,
	.fl-rich-text.wyohs-museum__fact p:first-child { grid-column: 1; }
	.fl-rich-text.wyohs-museum__fact p:first-child { padding-bottom: 0; }
	.fl-rich-text.wyohs-museum__fact p:nth-child(2) { padding-top: 4px; }
	.fl-row.wyohs-museum-page .wyohs-museum__site-btn a.fl-button { display: block; text-align: center; }
}

/* ---------- back link --------------------------------------------------- */

.fl-rich-text.wyohs-museum__back p {
	margin: 0;
	font: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
}

/* ------------------------------------------------------------------ *
 * Stand-in plate, 2 Oct 2026: an Alfred Jacob Miller in sepia with the
 * museum's name set large, tilted and cropped by the plate. The events
 * carousel's .wyohs-eventph device (home-rows.css), turned to a dark
 * ground, and hung from the top edge because the region badge sits
 * bottom left. Printed by WyoHS_Museums::standin() inside the --empty plate
 * on directory cards and the record page's "Also in" cards; the drawn
 * pediment stands down whenever a stand-in is present.
 * ------------------------------------------------------------------ */
.wyohs-museums__media--empty:has(.wyohs-mstand)::before,
.wyohs-museums__media--empty:has(.wyohs-mstand)::after {
	display: none;
}
.wyohs-mstand {
	position: absolute;
	inset: 0;
	display: block;
	overflow: hidden;
	background: #2c1f17;
}
.wyohs-museums__media .wyohs-mstand__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: grayscale(1) sepia(0.8) contrast(1.06) brightness(0.84);
}
.wyohs-mstand::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to bottom, rgba(44, 31, 23, 0.8) 0%, rgba(44, 31, 23, 0.5) 45%, rgba(44, 31, 23, 0) 80%);
}
.wyohs-mstand__word {
	position: absolute;
	z-index: 1;
	top: 10%;
	left: -10%;
	width: 150%;
	font-family: var(--wyohs-serif);
	font-size: 84px;
	line-height: 0.92;
	color: rgba(255, 248, 231, 0.66);
	transform: rotate(-7deg);
	transform-origin: 0 0;
}
.wyohs-mstand--v1 .wyohs-mstand__word {
	top: 16%;
	left: -16%;
	font-size: 76px;
	transform: rotate(-4deg);
}
.wyohs-mstand--v2 .wyohs-mstand__word {
	top: 6%;
	left: -6%;
	font-size: 94px;
	transform: rotate(-10deg);
}
.wyohs-museums__media .wyohs-museums__badge {
	z-index: 2;
}

/* ---- Live lists in the facts column (2 Oct 2026) ----
   Exhibitions and Upcoming Events sit under the facts and the website button
   in the right-hand column. Each is a Heading module followed by an HTML module.
   An empty list hides itself and its heading, outside the builder only. */
.fl-builder-content .wyohs-museum-head h2.wyohs-museum__live-head,
.fl-builder-content .wyohs-museum-head .wyohs-museum__live-head .fl-heading {
	font-family: 'Young Serif', serif;
	font-size: 24px;
	line-height: 1.25;
	font-weight: 400;
	color: #1b3a5c;
	margin: 44px 0 4px;
}
body:not(.fl-builder-edit) .wyohs-museum__live-head:not(:has(+ .wyohs-museum__live-list .wyohs-venue-events li)),
body:not(.fl-builder-edit) .wyohs-museum__live-list:not(:has(.wyohs-venue-events li)) {
	display: none;
}
