/*
Theme Name: Masonic Closet
Theme URI: https://masoniccloset.org
Description: Child theme of ListingHive for Masonic Closet, a free Brother-to-Brother formalwear exchange. Presentation only; business logic lives in the Masonic Closet Core plugin.
Author: Masonic Closet
Author URI: https://masoniccloset.org
Template: listinghive
Version: 0.3.2
Requires at least: 6.5
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: masonic-closet-theme
*/

/* --------------------------------------------------------------------------
   Tokens
   Palette: midnight navy (evening wear), warm ivory (shirt front), antique
   gold (studs and cufflinks). One serif with character for headings and
   sizes, one quiet sans for everything else.
   -------------------------------------------------------------------------- */
:root {
	--mc-ink: #16202c;
	--mc-ink-deep: #0d141c;
	--mc-ink-soft: #24313f;
	--mc-ivory: #f5f0e6;
	--mc-paper: #fbf8f2;
	--mc-linen: #e6ddcb;
	--mc-linen-deep: #d3c7ae;
	--mc-gold: #b4934f;
	--mc-gold-deep: #86692f;
	--mc-gold-pale: #e9dcbb;
	--mc-slate: #3b4550;
	--mc-mute: #5b6470; /* 5.3:1 on ivory, 6:1 on white */
	--mc-oxblood: #7b3b3f;
	--mc-oxblood-pale: #efdede;
	--mc-serif: "Fraunces", "Iowan Old Style", Georgia, serif;
	--mc-sans: "Source Sans 3", "Source Sans Pro", "Helvetica Neue", Arial, sans-serif;
	--mc-radius: 4px;
	--mc-radius-lg: 8px;
	--mc-measure: 62ch;
	--mc-gutter: 24px;
}

/* --------------------------------------------------------------------------
   Base
   -------------------------------------------------------------------------- */
body.mc {
	background: var(--mc-ivory);
	color: var(--mc-slate);
	font-family: var(--mc-sans);
	font-size: 17px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

body.mc h1,
body.mc h2,
body.mc h3,
body.mc h4,
body.mc h5,
body.mc h6 {
	color: var(--mc-ink);
	font-family: var(--mc-serif);
	font-weight: 500;
	letter-spacing: -0.01em;
	line-height: 1.15;
}

body.mc a {
	color: var(--mc-gold-deep);
	text-decoration: none;
}

body.mc a:hover {
	color: var(--mc-ink);
}

body.mc :focus-visible {
	outline: 2px solid var(--mc-gold);
	outline-offset: 3px;
}

body.mc p {
	max-width: var(--mc-measure);
}

body.mc .page__text {
	max-width: 70ch;
}

body.mc .page__text p,
body.mc .page__text ul,
body.mc .page__text ol {
	max-width: none;
}

body.mc .page__text h2 {
	font-size: 28px;
	margin: 36px 0 12px;
}

body.mc .page__text li {
	margin-bottom: 8px;
}

.site-container {
	background: var(--mc-ivory);
}

.site-content {
	padding: 40px 0 72px;
}

.mc-home .site-content {
	padding-top: 0;
}

/* --------------------------------------------------------------------------
   Buttons and links
   -------------------------------------------------------------------------- */
body.mc .button,
body.mc button:not(.hp-menu__item):not(.select2-selection__clear):not(.hp-modal__close):not(.fancybox-button):not(.slick-arrow):not(.hp-field__button):not(.header-navbar__burger a),
body.mc input[type="submit"],
body.mc .mc-button {
	background: var(--mc-ink);
	border: 1px solid var(--mc-ink);
	border-radius: var(--mc-radius);
	color: var(--mc-ivory);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--mc-sans);
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0.01em;
	line-height: 1;
	min-height: 46px;
	padding: 0 22px;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

body.mc .button:hover,
body.mc button:not(.hp-menu__item):not(.select2-selection__clear):not(.hp-modal__close):not(.fancybox-button):not(.slick-arrow):not(.hp-field__button):hover,
body.mc input[type="submit"]:hover,
body.mc .mc-button:hover {
	background: var(--mc-ink-soft);
	border-color: var(--mc-ink-soft);
	color: var(--mc-ivory);
}

body.mc .button--primary,
body.mc .button--primary.alt,
body.mc .mc-button--gold {
	background: var(--mc-gold);
	border-color: var(--mc-gold);
	color: var(--mc-ink-deep);
}

body.mc .button--primary:hover,
body.mc .button--primary.alt:hover,
body.mc .mc-button--gold:hover {
	background: #c4a462;
	border-color: #c4a462;
	color: var(--mc-ink-deep);
}

body.mc .button--secondary,
body.mc .mc-button--outline {
	background: transparent;
	border-color: var(--mc-ink);
	color: var(--mc-ink);
}

body.mc .button--secondary:hover,
body.mc .mc-button--outline:hover {
	background: var(--mc-ink);
	color: var(--mc-ivory);
}

body.mc .mc-button--ghost {
	background: transparent;
	border-color: rgba(245, 240, 230, 0.55);
	color: var(--mc-ivory);
}

body.mc .mc-button--ghost:hover {
	background: rgba(245, 240, 230, 0.1);
	border-color: var(--mc-ivory);
	color: var(--mc-ivory);
}

body.mc .button--large {
	min-height: 54px;
	padding: 0 28px;
	font-size: 17px;
}

body.mc .mc-link {
	border-bottom: 1px solid var(--mc-gold);
	color: var(--mc-ink);
	font-weight: 600;
	padding-bottom: 2px;
}

.mc-link:hover {
	border-color: var(--mc-ink);
}

/* --------------------------------------------------------------------------
   Header: light bar carrying the wordmark logo (navy on ivory), so the navy
   hero and page bands sit beneath it with a hairline between.
   -------------------------------------------------------------------------- */
body.mc .site-header {
	background: var(--mc-paper);
	border-bottom: 1px solid var(--mc-linen-deep);
	color: var(--mc-ink);
}

body.mc .header-navbar {
	margin: 0 auto;
	max-width: 1188px;
	min-height: 84px;
	padding: 0 var(--mc-gutter);
}

body.mc .header-logo a,
body.mc .header-logo .custom-logo-link {
	display: inline-flex;
	align-items: center;
}

body.mc .header-logo img,
body.mc .header-logo .custom-logo {
	display: block;
	height: 76px;
	max-height: 76px;
	width: auto;
}

body.mc .header-logo__name {
	color: var(--mc-ink);
	font-family: var(--mc-serif);
	font-size: 24px;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.1;
}

body.mc .header-logo__description {
	display: none;
}

body.mc .header-navbar__menu > ul > li > a {
	color: var(--mc-slate);
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0.01em;
}

body.mc .header-navbar__menu > ul > li > a:hover,
body.mc .header-navbar__menu > ul > li.current-menu-item > a {
	color: var(--mc-gold-deep);
}

body.mc .header-navbar__menu ul li ul {
	background: var(--mc-paper);
	border: 1px solid var(--mc-linen-deep);
	border-radius: var(--mc-radius);
	box-shadow: 0 12px 32px rgba(22, 32, 44, 0.12);
}

body.mc .header-navbar__menu ul li ul li a {
	color: var(--mc-ink);
}

body.mc .header-navbar__burger > a {
	color: var(--mc-ink);
}

body.mc .header-navbar__burger > ul {
	background: var(--mc-ink);
}

body.mc .header-navbar__burger > ul > li > a,
body.mc .header-navbar__burger ul li a,
body.mc .header-navbar__burger ul li a .hp-icon {
	color: var(--mc-ivory);
}

body.mc .header-navbar__burger > ul::before,
body.mc .header-navbar__burger ul li.menu-item-has-children::after {
	color: rgba(245, 240, 230, 0.7);
}

body.mc .hp-menu--site-header .hp-menu__item > a,
body.mc .hp-menu--site-header .hp-menu__item > button {
	color: var(--mc-ink);
}

body.mc .hp-menu--site-header .hp-menu__item--listing-submit.button,
body.mc .hp-menu--site-header .hp-menu__item--listing-submit.button:hover {
	background: var(--mc-gold);
	border-color: var(--mc-gold);
	color: var(--mc-ink-deep);
	min-height: 42px;
}

body.mc .hp-menu--site-header .hp-menu__item--listing-submit.button:hover {
	background: #c4a462;
}

body.mc .hp-menu--site-header .hp-menu__item--user-login > a,
body.mc .hp-menu--site-header .hp-menu__item--user-account > a {
	color: var(--mc-ink);
	font-weight: 600;
}

/* Page hero (inner pages) */
body.mc .header-hero {
	background: var(--mc-ink);
	color: var(--mc-ivory);
	min-height: 0;
	padding: 40px 0 44px;
}

body.mc .header-hero--title {
	min-height: 0;
}

body.mc .header-hero h1,
body.mc .header-hero .page__title {
	color: var(--mc-ivory);
	font-size: 40px;
}

body.mc .header-hero--cover::after {
	background: linear-gradient(180deg, rgba(13, 20, 28, 0.55), rgba(13, 20, 28, 0.85));
}

/* --------------------------------------------------------------------------
   Home: hero
   -------------------------------------------------------------------------- */
.mc-hero {
	background: var(--mc-ink);
	color: var(--mc-ivory);
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: 72px var(--mc-gutter) 88px;
	position: relative;
	overflow: hidden;
}

.mc-hero::before {
	/* A faint vertical seam, like the satin stripe on tuxedo trousers. */
	background: linear-gradient(180deg, rgba(180, 147, 79, 0), rgba(180, 147, 79, 0.35) 30%, rgba(180, 147, 79, 0.35) 70%, rgba(180, 147, 79, 0));
	content: "";
	left: calc(50% + 120px);
	position: absolute;
	top: 0;
	bottom: 0;
	width: 1px;
}

.mc-hero__inner {
	display: grid;
	gap: 48px;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	align-items: center;
	margin: 0 auto;
	max-width: 1140px;
}

body.mc .mc-hero__title {
	color: var(--mc-ivory);
	font-size: clamp(38px, 5.4vw, 64px);
	font-weight: 500;
	letter-spacing: -0.015em;
	line-height: 1.05;
	margin: 0 0 22px;
	max-width: 14ch;
}

.mc-hero__brand {
	color: var(--mc-gold-pale);
	font-family: var(--mc-sans);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.12em;
	margin: 0 0 14px;
	text-transform: uppercase;
}

.mc-hero__lede {
	color: rgba(245, 240, 230, 0.85);
	font-size: 20px;
	line-height: 1.5;
	margin: 0 0 30px;
	max-width: 44ch;
}

.mc-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 26px;
}

.mc-hero__note {
	color: var(--mc-gold-pale);
	font-family: var(--mc-serif);
	font-size: 18px;
	font-style: italic;
	margin: 0;
}

.mc-hero__object {
	display: flex;
	justify-content: center;
	position: relative;
}

/* The hang tag: a tailor's ticket with the one thing every listing carries, the size. */
.mc-tag {
	color: var(--mc-gold);
	position: relative;
	width: 250px;
	transform: rotate(-4deg);
}

.mc-tag__string {
	display: block;
	height: 90px;
	margin: 0 auto -6px;
	width: 120px;
}

.mc-tag__card {
	background: var(--mc-paper);
	border-radius: 6px 6px 8px 8px;
	box-shadow: 0 24px 48px rgba(0, 0, 0, 0.35), 0 2px 0 var(--mc-linen-deep);
	clip-path: polygon(50% 0, 100% 16%, 100% 100%, 0 100%, 0 16%);
	color: var(--mc-ink);
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 60px 24px 30px;
	text-align: center;
}

.mc-tag__hole {
	background: var(--mc-ink);
	border-radius: 50%;
	box-shadow: inset 0 0 0 2px var(--mc-gold);
	height: 14px;
	left: 50%;
	position: absolute;
	top: 106px;
	transform: translateX(-50%);
	width: 14px;
}

.mc-tag__kicker {
	color: var(--mc-gold-deep);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.mc-tag__size {
	font-family: var(--mc-serif);
	font-size: 72px;
	font-weight: 600;
	letter-spacing: -0.03em;
	line-height: 1;
	margin: 8px 0 6px;
}

.mc-tag__item {
	font-family: var(--mc-serif);
	font-size: 20px;
	line-height: 1.2;
	margin-bottom: 4px;
}

.mc-tag__meta {
	color: var(--mc-mute);
	font-size: 14px;
	line-height: 1.5;
}

.mc-tag__rule {
	background: var(--mc-linen-deep);
	display: block;
	height: 1px;
	margin: 14px 0 12px;
	width: 48px;
}

/* --------------------------------------------------------------------------
   Home: sections
   -------------------------------------------------------------------------- */
.mc-section {
	margin: 0 auto;
	max-width: 1140px;
	padding: 64px 0 8px;
}

.mc-section__head {
	margin-bottom: 28px;
}

.mc-section__title {
	font-size: 34px;
	margin: 0 0 8px;
}

.mc-section__intro {
	color: var(--mc-mute);
	font-size: 18px;
	margin: 0;
}

.mc-section__more {
	margin: 8px 0 0;
}

.mc-categories__grid {
	border-top: 1px solid var(--mc-linen-deep);
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

body.mc .mc-categories__item,
body.mc .mc-categories__item:not(:last-child) {
	border-bottom: 1px solid var(--mc-linen-deep);
	display: flex;
	margin: 0;
}

body.mc .mc-categories__item .mc-categories__link {
	flex: 1 1 auto;
}

body.mc .mc-categories__link {
	color: var(--mc-ink);
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-height: 96px;
	padding: 18px 16px 18px 0;
	position: relative;
	transition: padding-left 0.15s ease;
}

.mc-categories__link::before {
	background: var(--mc-gold);
	content: "";
	height: 0;
	left: 0;
	position: absolute;
	top: 18px;
	transition: height 0.15s ease;
	width: 2px;
}

body.mc .mc-categories__link:hover {
	color: var(--mc-ink);
	padding-left: 14px;
}

.mc-categories__link:hover::before {
	height: 28px;
}

.mc-categories__name {
	font-family: var(--mc-serif);
	font-size: 21px;
	font-weight: 500;
	line-height: 1.2;
}

.mc-categories__count {
	color: var(--mc-mute);
	font-size: 14px;
}

.mc-empty {
	background: var(--mc-paper);
	border: 1px dashed var(--mc-linen-deep);
	border-radius: var(--mc-radius-lg);
	padding: 36px 28px;
}

.mc-empty p {
	margin: 0 0 18px;
}

.mc-cta {
	background: var(--mc-ink);
	color: var(--mc-ivory);
	margin: 72px calc(50% - 50vw) 0;
	padding: 72px var(--mc-gutter);
	text-align: center;
}

.mc-cta__inner {
	margin: 0 auto;
	max-width: 640px;
}

body.mc .mc-cta__title {
	color: var(--mc-ivory);
	font-size: 36px;
	margin: 0 0 12px;
}

.mc-cta__text {
	color: rgba(245, 240, 230, 0.8);
	font-size: 18px;
	margin: 0 auto 28px;
}

.mc-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
}

.mc-about {
	padding-top: 72px;
}

.mc-about__grid {
	display: grid;
	gap: 48px;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
}

.mc-about__motto {
	color: var(--mc-gold-deep);
	font-family: var(--mc-serif);
	font-size: 26px;
	font-style: italic;
	line-height: 1.3;
	margin: 12px 0 0;
}

.mc-about__copy p {
	font-size: 18px;
	margin: 0 0 18px;
}

/* --------------------------------------------------------------------------
   Listing cards
   -------------------------------------------------------------------------- */
body.mc .hp-listing--view-block {
	container-type: inline-size;
	background: var(--mc-paper);
	border: 1px solid var(--mc-linen-deep);
	border-radius: var(--mc-radius-lg);
	box-shadow: none;
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	transition: border-color 0.15s ease, transform 0.15s ease;
}

body.mc .hp-listing--view-block:hover {
	border-color: var(--mc-gold);
	box-shadow: none;
	transform: none;
}

body.mc .hp-listing--view-block .hp-listing__header {
	margin: 0;
	position: relative;
}

body.mc .hp-listing--view-block .hp-listing__image {
	background: var(--mc-linen);
}

body.mc .hp-listing--view-block .hp-listing__image img {
	aspect-ratio: 4 / 3;
	border-radius: 0;
	object-fit: cover;
	width: 100%;
}

body.mc .hp-listing--view-block .hp-listing__content {
	flex: 1 1 auto;
	padding: 18px 20px 12px;
}

body.mc .hp-listing--view-block .hp-listing__title {
	font-size: 21px;
	line-height: 1.2;
	margin: 0 0 10px;
}

body.mc .hp-listing--view-block .hp-listing__title a {
	color: var(--mc-ink);
}

body.mc .hp-listing--view-block .hp-listing__title a:hover {
	color: var(--mc-gold-deep);
}

body.mc .hp-listing--view-block .hp-listing__details,
body.mc .hp-listing--view-block .hp-listing__categories {
	margin: 0 0 10px;
}

body.mc .hp-listing--view-block .hp-listing__categories a {
	background: transparent;
	border: 0;
	color: var(--mc-mute);
	font-size: 14px;
	padding: 0;
}

body.mc .hp-listing--view-block .hp-listing__categories a:hover {
	background: transparent;
	color: var(--mc-gold-deep);
}

body.mc .hp-listing--view-block .hp-listing__footer {
	align-items: center;
	border-top: 1px solid var(--mc-linen);
	display: flex;
	gap: 12px;
	justify-content: space-between;
	padding: 12px 20px;
}

body.mc .hp-listing--view-block .hp-listing__actions--primary {
	margin: 0;
}

body.mc .hp-listing--view-block .mc-view-link {
	color: var(--mc-ink);
	font-size: 15px;
	font-weight: 600;
	white-space: nowrap;
}

body.mc .hp-listing--view-block .mc-view-link::after {
	content: "\203A";
	margin-left: 5px;
}

body.mc .hp-listing--view-block .mc-view-link:hover {
	color: var(--mc-gold-deep);
}

@container (max-width: 330px) {
	body.mc .hp-listing--view-block .hp-listing__footer {
		align-items: flex-start;
		flex-direction: column;
		gap: 8px;
	}

	body.mc .hp-listing--view-block .hp-listing__actions--primary {
		width: 100%;
		justify-content: space-between;
	}
}

/* Size block: the most important thing on the card. */
.mc-size {
	align-items: baseline;
	display: flex;
	flex-wrap: wrap;
	gap: 4px 12px;
	margin: 0 0 8px;
}

.mc-size__primary {
	color: var(--mc-ink);
	font-family: var(--mc-serif);
	font-size: 30px;
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1;
}

.mc-size__secondary {
	color: var(--mc-slate);
	font-size: 15px;
}

.mc-size--page {
	margin: 6px 0 20px;
}

.mc-size--page .mc-size__primary {
	font-size: 44px;
}

.mc-size--page .mc-size__secondary {
	font-size: 18px;
}

.mc-location {
	color: var(--mc-slate);
	display: flex;
	flex-direction: column;
	font-size: 15px;
	gap: 2px;
	line-height: 1.4;
}

.mc-location__lodge {
	color: var(--mc-mute);
}

.mc-delivery {
	align-items: center;
	color: var(--mc-mute);
	display: flex;
	font-size: 14px;
	gap: 8px;
	min-width: 0;
}

.mc-delivery i {
	color: var(--mc-gold-deep);
	font-size: 13px;
}

/* Badges: status tokens, kept small and quiet. */
.mc-badges {
	display: flex;
	gap: 6px;
	left: 12px;
	position: absolute;
	top: 12px;
	z-index: 2;
}

.mc-badge {
	background: var(--mc-ink);
	border-radius: 3px;
	color: var(--mc-ivory);
	display: inline-block;
	font-family: var(--mc-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1;
	padding: 6px 8px;
	text-transform: uppercase;
}

.mc-badge--available {
	background: var(--mc-gold);
	color: var(--mc-ink-deep);
}

.mc-badge--wanted {
	background: var(--mc-oxblood);
	color: #fff;
}

.mc-badge--pending {
	background: var(--mc-paper);
	box-shadow: inset 0 0 0 1px var(--mc-gold-deep);
	color: var(--mc-gold-deep);
}

.mc-badge--claimed,
.mc-badge--fulfilled {
	background: var(--mc-slate);
	color: var(--mc-ivory);
}

.mc-listing--closed .hp-listing__image img {
	filter: grayscale(0.6);
	opacity: 0.75;
}

/* Listing page badges sit inline above the title. */
.hp-listing--view-page .mc-badges {
	left: auto;
	margin-bottom: 14px;
	position: static;
	top: auto;
}

/* --------------------------------------------------------------------------
   Listing page
   -------------------------------------------------------------------------- */
body.mc .hp-listing--view-page .hp-listing__title {
	font-size: 40px;
	margin-bottom: 6px;
}

body.mc .hp-listing--view-page .hp-listing__details--primary {
	color: var(--mc-mute);
	font-size: 15px;
	margin-bottom: 20px;
}

body.mc .hp-listing--view-page .hp-listing__attributes--secondary {
	background: var(--mc-paper);
	border: 1px solid var(--mc-linen-deep);
	border-radius: var(--mc-radius-lg);
	margin: 28px 0;
	padding: 20px 24px 8px;
}

body.mc .hp-listing__attribute {
	margin-bottom: 14px;
}

.mc-attribute__label {
	color: var(--mc-mute);
	display: block;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.04em;
	margin-bottom: 2px;
}

.mc-attribute__value {
	color: var(--mc-ink);
	display: block;
	font-family: var(--mc-serif);
	font-size: 20px;
}

body.mc .mc-wanted-art img {
	border-radius: var(--mc-radius-lg);
	display: block;
	width: 100%;
}

body.mc .hp-listing--view-page .hp-listing__description {
	font-size: 18px;
	max-width: var(--mc-measure);
}

body.mc .widget,
body.mc .hp-widget {
	background: var(--mc-paper);
	border: 1px solid var(--mc-linen-deep);
	border-radius: var(--mc-radius-lg);
	box-shadow: none;
	padding: 24px;
}

.mc-summary__list {
	margin: 0;
}

.mc-summary__row {
	border-bottom: 1px solid var(--mc-linen);
	display: grid;
	gap: 12px;
	grid-template-columns: 88px minmax(0, 1fr);
	padding: 10px 0;
}

.mc-summary__row:first-child {
	padding-top: 0;
}

.mc-summary__row:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.mc-summary__row dt {
	color: var(--mc-mute);
	font-size: 14px;
	font-weight: 600;
	margin: 0;
	padding-top: 3px;
}

.mc-summary__row dd {
	color: var(--mc-ink);
	font-family: var(--mc-serif);
	font-size: 19px;
	margin: 0;
}

.mc-summary__closed {
	background: var(--mc-linen);
	border-radius: var(--mc-radius);
	color: var(--mc-slate);
	font-size: 15px;
	margin: 18px 0 0;
	padding: 12px 14px;
}

body.mc .hp-listing__action--message {
	width: 100%;
}

body.mc .hp-listing__actions--primary:empty {
	display: none;
}

.mc-status-form__title {
	font-size: 20px;
	margin: 0 0 12px;
}

.mc-status-form--inline {
	background: var(--mc-paper);
	border: 1px solid var(--mc-linen-deep);
	border-radius: var(--mc-radius-lg);
	margin-bottom: 28px;
	padding: 20px 24px;
}

.mc-status-form--inline .hp-form {
	align-items: flex-end;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.mc-status-form--inline .hp-form__fields {
	flex: 1 1 240px;
	margin: 0;
}

.mc-status-form--inline .hp-form__field {
	margin: 0;
}

/* --------------------------------------------------------------------------
   Listings archive, filters, category pickers
   -------------------------------------------------------------------------- */
body.mc .hp-page__title,
body.mc .hp-section__title {
	font-size: 30px;
}

body.mc .hp-page__title::before,
body.mc .hp-section__title::before {
	display: none;
}

body.mc .hp-form--listing-search {
	background: var(--mc-paper);
	border: 1px solid var(--mc-linen-deep);
	border-radius: var(--mc-radius-lg);
	box-shadow: none;
	padding: 10px;
}

body.mc .hp-widget--listing-filter {
	padding: 24px;
}

body.mc .hp-form__label,
body.mc label {
	color: var(--mc-ink);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
}

body.mc .hp-form__label small,
body.mc .hp-field__label small {
	color: var(--mc-mute);
	font-weight: 400;
	text-transform: none;
}

body.mc .hp-field--select select,
body.mc .hp-field--text,
body.mc .hp-field--number,
body.mc .hp-field--email,
body.mc .hp-field--password,
body.mc .hp-field--textarea,
body.mc .select2-container--default .select2-selection--single {
	background: #fff;
	border: 1px solid var(--mc-linen-deep);
	border-radius: var(--mc-radius);
	color: var(--mc-ink);
}

body.mc .hp-field--text:focus,
body.mc .hp-field--number:focus,
body.mc .hp-field--email:focus,
body.mc .hp-field--password:focus,
body.mc .hp-field--textarea:focus {
	border-color: var(--mc-gold);
	box-shadow: 0 0 0 3px rgba(180, 147, 79, 0.2);
}

body.mc .hp-listing-category--submit-block,
body.mc .hp-listing-category--view-block {
	background: var(--mc-paper);
	border: 1px solid var(--mc-linen-deep);
	border-radius: var(--mc-radius-lg);
	box-shadow: none;
}

body.mc .hp-listing-category--submit-block:hover,
body.mc .hp-listing-category--view-block:hover {
	border-color: var(--mc-gold);
	box-shadow: none;
}

body.mc .hp-listing-category__name a {
	color: var(--mc-ink);
	font-family: var(--mc-serif);
	font-size: 20px;
}

body.mc td.hp-status .mc-badge--available,
body.mc td.hp-status .mc-badge--wanted,
body.mc td.hp-status .mc-badge--pending,
body.mc td.hp-status .mc-badge--claimed,
body.mc td.hp-status .mc-badge--fulfilled {
	background: var(--mc-ink);
	color: var(--mc-ivory);
	font-size: 12px;
	letter-spacing: 0.08em;
	padding: 6px 8px;
}

body.mc td.hp-status .mc-badge--available {
	background: var(--mc-gold);
	color: var(--mc-ink-deep);
}

body.mc td.hp-status .mc-badge--wanted {
	background: var(--mc-oxblood);
	color: #fff;
}

body.mc td.hp-status .mc-badge--pending {
	background: var(--mc-paper);
	box-shadow: inset 0 0 0 1px var(--mc-gold-deep);
	color: var(--mc-gold-deep);
}

body.mc td.hp-status .mc-badge--claimed,
body.mc td.hp-status .mc-badge--fulfilled {
	background: var(--mc-slate);
	color: var(--mc-ivory);
}

body.mc .hp-status--pending span,
body.mc .hp-status--publish span {
	border-radius: 3px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.06em;
	padding: 4px 8px;
	text-transform: uppercase;
}

body.mc .select2-container--default .select2-results__option--highlighted[aria-selected],
body.mc .select2-container--default .select2-results__option--highlighted {
	background: var(--mc-ink);
	color: var(--mc-ivory);
}

body.mc .select2-container--default .select2-results__option[aria-selected="true"] {
	background: var(--mc-linen);
	color: var(--mc-ink);
}

body.mc .select2-dropdown {
	border-color: var(--mc-linen-deep);
	border-radius: var(--mc-radius);
}

body.mc .select2-container--default .select2-search--dropdown .select2-search__field {
	border: 1px solid var(--mc-linen-deep);
	border-radius: var(--mc-radius);
}

/* Listing type: two clear choices, no dropdown. */
body.mc .hp-form--listing-submit .hp-field--radio > ul,
body.mc .hp-form--listing-update .hp-field--radio > ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	list-style: none;
	margin: 0;
	padding: 0;
}

body.mc .hp-form--listing-submit .hp-field--radio li,
body.mc .hp-form--listing-update .hp-field--radio li {
	margin: 0;
}

body.mc .hp-form--listing-submit .hp-field--radio label,
body.mc .hp-form--listing-update .hp-field--radio label {
	background: #fff;
	border: 1px solid var(--mc-linen-deep);
	border-radius: var(--mc-radius);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	font-weight: 600;
	margin: 0;
	min-width: 140px;
	justify-content: center;
	padding: 11px 18px;
	position: relative;
}

body.mc .hp-form--listing-submit .hp-field--radio input,
body.mc .hp-form--listing-update .hp-field--radio input {
	height: 1px;
	margin: 0;
	opacity: 0;
	position: absolute;
	width: 1px;
}

body.mc .hp-form--listing-submit .hp-field--radio label span::before,
body.mc .hp-form--listing-update .hp-field--radio label span::before,
body.mc .hp-form--listing-submit .hp-field--radio label span::after,
body.mc .hp-form--listing-update .hp-field--radio label span::after {
	display: none;
}

body.mc .hp-form--listing-submit .hp-field--radio label span,
body.mc .hp-form--listing-update .hp-field--radio label span {
	padding: 0;
}

body.mc .hp-form--listing-submit .hp-field--radio label:has(input:checked),
body.mc .hp-form--listing-update .hp-field--radio label:has(input:checked) {
	background: var(--mc-ink);
	border-color: var(--mc-ink);
	color: var(--mc-ivory);
}

body.mc .hp-form--listing-submit .hp-field--radio label:has(input:focus-visible),
body.mc .hp-form--listing-update .hp-field--radio label:has(input:focus-visible) {
	outline: 2px solid var(--mc-gold);
	outline-offset: 3px;
}

/* Account and forms */
body.mc .hp-form__description {
	color: var(--mc-mute);
	font-size: 15px;
}

body.mc .hp-modal {
	border-radius: var(--mc-radius-lg);
}

body.mc .hp-modal__close,
body.mc .fancybox-button {
	background: transparent;
	border: 0;
	color: var(--mc-mute);
	min-height: 0;
	padding: 8px;
}

body.mc .hp-modal__close:hover {
	background: transparent;
	color: var(--mc-ink);
}

body.mc .hp-modal__title,
body.mc .hp-modal h3 {
	font-size: 24px;
}

/* --------------------------------------------------------------------------
   404
   -------------------------------------------------------------------------- */
.mc-404 {
	margin: 24px auto 40px;
	max-width: 560px;
	text-align: center;
}

.mc-404__title {
	font-size: 40px;
	margin: 0 0 12px;
}

.mc-404__text {
	color: var(--mc-mute);
	font-size: 18px;
	margin: 0 auto 24px;
}

.mc-404__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
}


/* --------------------------------------------------------------------------
   Launch polish: specs, breadcrumbs, example notices, empty states, filters,
   touch targets, Turnstile, three hero actions.
   -------------------------------------------------------------------------- */
.mc-breadcrumbs {
	color: var(--mc-mute);
	font-size: 14px;
	margin: 0 0 18px;
}

.mc-breadcrumbs ol {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.mc-breadcrumbs li + li::before {
	color: var(--mc-linen-deep);
	content: "/";
	margin-right: 6px;
}

body.mc .mc-breadcrumbs a {
	color: var(--mc-mute);
}

body.mc .mc-breadcrumbs a:hover {
	color: var(--mc-ink);
}

.mc-breadcrumbs [aria-current] {
	color: var(--mc-ink);
}

.mc-specs {
	background: var(--mc-paper);
	border: 1px solid var(--mc-linen-deep);
	border-radius: var(--mc-radius-lg);
	display: grid;
	gap: 14px 24px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0 0 28px;
	padding: 20px 24px;
}

.mc-specs__item {
	margin: 0;
	min-width: 0;
}

.mc-specs__item dt {
	color: var(--mc-mute);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.04em;
	margin: 0 0 2px;
}

.mc-specs__item dd {
	color: var(--mc-ink);
	font-family: var(--mc-serif);
	font-size: 20px;
	margin: 0;
	overflow-wrap: anywhere;
}

.mc-specs__item--wide {
	grid-column: 1 / -1;
}

.mc-badge--example {
	background: var(--mc-paper);
	box-shadow: inset 0 0 0 1px var(--mc-ink);
	color: var(--mc-ink);
}

.mc-example-note {
	background: var(--mc-gold-pale);
	border-left: 3px solid var(--mc-gold);
	border-radius: var(--mc-radius);
	color: var(--mc-ink);
	display: flex;
	flex-direction: column;
	gap: 2px;
	font-size: 15px;
	margin: 0 0 20px;
	padding: 12px 16px;
}

.mc-example-note strong {
	font-family: var(--mc-serif);
	font-size: 17px;
}

.mc-listing--example .hp-listing__image::after {
	background: rgba(22, 32, 44, 0.06);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

body.mc .hp-listing--view-block .hp-listing__image {
	position: relative;
}

.mc-empty-state {
	background: var(--mc-paper);
	border: 1px dashed var(--mc-linen-deep);
	border-radius: var(--mc-radius-lg);
	margin: 8px 0 24px;
	padding: 36px 28px;
}

.mc-empty-state h2 {
	font-size: 26px;
	margin: 0 0 8px;
}

.mc-empty-state p {
	color: var(--mc-mute);
	margin: 0 0 18px;
}

.mc-empty-state__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.mc-browse-head {
	margin: 20px 0 20px;
}

.mc-browse-head:empty {
	display: none;
}

.mc-browse-head h1 {
	font-size: 32px;
	margin: 0 0 4px;
}

.mc-browse-head p {
	color: var(--mc-mute);
	margin: 0;
}

.mc-filter-tools {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;
	justify-content: space-between;
	margin: 0 0 12px;
}

.mc-filter-tools__count {
	color: var(--mc-mute);
	font-size: 14px;
}

body.mc .mc-filter-clear {
	color: var(--mc-gold-deep);
	font-size: 14px;
	font-weight: 600;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
}

body.mc .mc-filter-clear:hover {
	color: var(--mc-ink);
}

.mc-turnstile {
	margin: 4px 0 14px;
	min-height: 65px;
}

/* Comfortable touch targets. */
body.mc .hp-listing--view-block .mc-view-link,
body.mc .hp-listing__categories a,
body.mc .hp-menu--tabbed .hp-menu__item a {
	align-items: center;
	display: inline-flex;
	min-height: 44px;
}

body.mc .hp-listing--view-block .hp-listing__categories a {
	min-height: 32px;
	padding: 4px 0;
}

@media (max-width: 767px) {
	.mc-specs {
		gap: 12px 16px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		padding: 16px;
	}

	.mc-specs__item dd {
		font-size: 18px;
	}

	body.mc input:not([type="checkbox"]):not([type="radio"]),
	body.mc select,
	body.mc textarea,
	body.mc .select2-container--default .select2-selection--single .select2-selection__rendered,
	body.mc .select2-search__field {
		font-size: 16px;
	}

	body.mc .hp-form--listing-sort select,
	body.mc .hp-form--listing-sort .select2-selection__rendered {
		font-size: 16px;
	}

	body.mc .hp-listing__categories a,
	body.mc .hp-listing__action,
	body.mc .hp-link,
	body.mc .hp-menu__item a {
		min-height: 44px;
	}

	.mc-hero__actions .mc-button {
		flex: 1 1 100%;
	}
}

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */
.mc-pavement {
	/* A restrained nod to the mosaic pavement: a single checkered course. */
	background-color: var(--mc-ivory);
	background-image:
		linear-gradient(45deg, var(--mc-ink) 25%, transparent 25%, transparent 75%, var(--mc-ink) 75%),
		linear-gradient(45deg, var(--mc-ink) 25%, transparent 25%, transparent 75%, var(--mc-ink) 75%);
	background-position: 0 0, 6px 6px;
	background-size: 12px 12px;
	height: 12px;
	opacity: 0.9;
}

body.mc .mc-footer {
	background: var(--mc-ink);
	color: rgba(245, 240, 230, 0.75);
	padding: 48px 0 36px;
}

.mc-footer__grid {
	display: grid;
	gap: 32px;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: start;
	margin-bottom: 36px;
}

body.mc .mc-footer__name {
	color: var(--mc-ivory);
	font-family: var(--mc-serif);
	font-size: 22px;
	font-weight: 600;
}

body.mc .mc-footer__name:hover {
	color: var(--mc-gold-pale);
}

.mc-footer__tagline {
	color: rgba(245, 240, 230, 0.6);
	font-size: 15px;
	margin: 4px 0 0;
}

.mc-footer__nav ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
	list-style: none;
	margin: 0;
	padding: 0;
}

body.mc .mc-footer__nav a {
	color: rgba(245, 240, 230, 0.8);
	font-size: 15px;
	font-weight: 600;
}

body.mc .mc-footer__nav a:hover {
	color: var(--mc-gold-pale);
}

.mc-footer__legal {
	border-top: 1px solid rgba(245, 240, 230, 0.12);
	padding-top: 24px;
}

.mc-footer__disclaimer {
	color: rgba(245, 240, 230, 0.55);
	font-size: 13px;
	line-height: 1.6;
	margin: 0 0 8px;
	max-width: 80ch;
}

.mc-footer__copyright {
	color: rgba(245, 240, 230, 0.72);
	font-size: 13px;
	margin: 0;
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (max-width: 1023px) {
	.mc-categories__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.mc-summary__row {
		gap: 2px;
		grid-template-columns: minmax(0, 1fr);
	}

	.mc-listings__grid .hp-grid__item {
		flex-basis: 50%;
		max-width: 50%;
	}

	.mc-summary__row dd {
		font-size: 18px;
	}

	body.mc .widget,
	body.mc .hp-widget {
		padding: 18px;
	}
}

@media (max-width: 767px) {
	body.mc {
		font-size: 16px;
	}

	body.mc .header-logo__name {
		font-size: 17px;
		white-space: nowrap;
	}

	body.mc .header-navbar {
		min-height: 64px;
	}

	body.mc .header-logo img,
	body.mc .header-logo .custom-logo {
		height: 48px;
		max-height: 48px;
	}

	body.mc .header-hero {
		padding: 28px 0 30px;
	}

	body.mc .header-hero h1,
	body.mc .header-hero .page__title {
		font-size: 30px;
	}

	.mc-hero {
		padding: 48px var(--mc-gutter) 56px;
	}

	.mc-hero::before {
		display: none;
	}

	.mc-hero__inner {
		grid-template-columns: minmax(0, 1fr);
		gap: 40px;
	}

	.mc-hero__object {
		order: -1;
	}

	.mc-tag {
		transform: rotate(-3deg) scale(0.86);
	}

	.mc-section {
		padding-top: 48px;
	}

	.mc-section__title {
		font-size: 28px;
	}

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

	.mc-categories__link {
		min-height: 80px;
	}

	.mc-categories__name {
		font-size: 18px;
	}

	.mc-cta {
		padding: 48px var(--mc-gutter);
	}

	.mc-cta__title {
		font-size: 28px;
	}

	.mc-about__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 20px;
	}

	.mc-footer__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 20px;
	}

	body.mc .hp-listing--view-page .hp-listing__title {
		font-size: 30px;
	}

	.mc-size--page .mc-size__primary {
		font-size: 36px;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.mc *,
	body.mc *::before,
	body.mc *::after {
		transition: none !important;
		animation: none !important;
	}
}

/* Header logo lockups: wide on larger screens, emblem + wordmark on phones. */
body.mc .mc-logo__compact {
	display: none;
	align-items: center;
	gap: 10px;
	color: var(--mc-ink);
	text-decoration: none;
}

body.mc .mc-logo__mark {
	height: 44px;
	width: 44px;
	flex: 0 0 44px;
}

body.mc .mc-logo__word {
	display: flex;
	flex-direction: column;
	font-family: var(--mc-serif);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: 0.01em;
	white-space: nowrap;
}

body.mc .mc-logo__word small {
	font-family: var(--mc-sans);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--mc-gold-deep, #8a6d2f);
	margin-bottom: 3px;
}

@media (max-width: 640px) {
	body.mc .header-logo .mc-logo__wide {
		display: none;
	}

	body.mc .mc-logo__compact {
		display: inline-flex;
	}
}

/* Contrast fixes flagged by Lighthouse (parent-theme defaults were 11px at 45% ink). */
body.mc .hp-result-count {
	color: var(--mc-mute);
	font-size: 13px;
}

body.mc .hp-listing--view-page .hp-listing__categories a,
body.mc .hp-listing--view-page .hp-listing__category a {
	background: var(--mc-linen);
	color: var(--mc-ink-soft);
	font-size: 13px;
}

body.mc .hp-menu--tabbed .hp-menu__item > a {
	color: var(--mc-ink-soft);
}

body.mc .hp-menu--tabbed .hp-menu__item--current > a,
body.mc .hp-menu--tabbed .hp-menu__item > a:hover {
	color: var(--mc-ink);
	border-bottom-color: var(--mc-gold);
}

/* Reserve the gallery's box before the carousel script runs so nothing below it jumps. */
body.mc .hp-listing__images[data-component="carousel-slider"]:not(.slick-initialized) {
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

body.mc .hp-listing__images[data-component="carousel-slider"]:not(.slick-initialized) img:not(:first-child) {
	display: none;
}
