/*
 Theme Name:   GP Child Theme
 Theme URI:    https://papertower.com
 Description:  Default GeneratePress child theme
 Author:       Brenden Jones
 Author URI:   https://papertower.com
 Template:     generatepress
 Version:      0.1
*/

.site-main>* {
  margin-bottom: 0px;
}

/* Stretch Link - https://www.youtube.com/watch?v=VHh8FWYWhLM */
.stretch-link{
	position: relative;
}
.stretch-link a::after{
	content: '';
	position: absolute;
	inset: 0;
}
.stretch-link a:is(:focus-visible)::after{
	outline: 2px solid;
}
.stretch-link a:is(:hover, :focus){
	outline: none;
}
/* End Stretch Link */

:root {
  --space-xs: clamp(0.5rem, 0.294rem + 0.784vi, 1rem);
  --space-s: clamp(1rem, 0.794rem + 0.784vi, 1.5rem);
  --space-m: clamp(1.5rem, 1.294rem + 0.784vi, 2rem);
  --space-l: clamp(2rem, 1.794rem + 0.784vi, 2.5rem);
  --space-xl: clamp(2.5rem, 2.294rem + 0.784vi, 3rem);
  --font-m: clamp(1.125rem, 1.074rem + 0.196vi, 1.25rem);
  --font-s: clamp(1rem, 0.949rem + 0.196vi, 1.125rem);
  --font-xs: clamp(0.875rem, 0.824rem + 0.196vi, 1rem);
  --radius: 4px; /* Corner rounding for every box, card, button, field and image. Change it here only. */
}

/* Fluid Typography Scale */
h1, .fs-h1 {
	font-size: clamp(2.5rem, 1.882rem + 2.353vi, 4rem);
}

h2, .fs-h2 {
	font-size: clamp(2rem, 1.897rem + 0.392vi, 2.25rem);
}

h3, .fs-h3 {
	font-size: clamp(1.75rem, 1.647rem + 0.392vi, 2rem);
}

h4, .fs-h4 {
	font-size: clamp(1.5rem, 1.397rem + 0.392vi, 1.75rem);
}

h5, .fs-h5 {
	font-size: clamp(1.375rem, 1.324rem + 0.196vi, 1.5rem);
}

h6, .fs-h6 {
	font-size: clamp(1.25rem, 1.199rem + 0.196vi, 1.375rem);
}

ol, ul {
  margin: 0 0 1em 1.2em;
}

/* Blockquote */
blockquote {
	border-left: 8px solid var(--brand-4) ;
	border-radius: var(--radius);
	padding: clamp(1rem, 0.588rem + 1.569vi, 2rem);
	background: white;
	background-image: url('https://wordpress-560871-3561803.cloudwaysapps.com/wp-content/uploads/2023/06/blockquote5.svg');
	background-repeat: no-repeat;
	background-position: top clamp(1rem, 0.794rem + 0.784vi, 1.5rem) left;
}
blockquote P {
	font-style: normal;
	font-size: clamp(1.125rem, 0.971rem + 0.588vi, 1.5rem);
	line-height: 1.5em;
}
blockquote cite {
	font-size: 1rem;
	font-style: normal;
	text-transform: uppercase; 
	letter-spacing: .03rem;
	font-weight: bold;
	color: #666;
}
/* End - Blockquote */

/* Gravity Forms (Orbital theme) — sized to the MBEA style guide.
 * !important is needed because GF prints per-form variables with an ID selector. */
.gform-theme--orbital {
	--gf-radius: var(--radius) !important;         /* form fields and buttons share the site radius */
	--gf-ctrl-size-md: 48px !important;           /* 44px+ touch targets */
	--gf-ctrl-btn-size-md: 48px !important;
	--gf-ctrl-padding-x: 14px !important;
	--gf-ctrl-font-size: var(--font-s) !important; /* 16px+ prevents iOS zoom on focus */
	--gf-ctrl-btn-font-size-md: var(--font-s) !important;
	--gf-ctrl-btn-font-weight: 600 !important;
	--gf-ctrl-btn-padding-x: 28px !important;
	--gf-ctrl-label-font-size-primary: var(--font-s) !important;
	--gf-ctrl-label-font-weight-primary: 600 !important;
	--gf-ctrl-desc-font-size: var(--font-xs) !important;
}
/* End Gravity Forms */

/* Board members (About page cards, profile page): styled in GenerateBlocks on
   the blocks themselves. Nothing for them lives in this file. */

/* ==========================================================================
   Filters (Resources + News): search, selects, chip links
   ========================================================================== */
.mbea-filters,
.mbea-filter-row {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.mbea-filters {
	background: var(--white);
	border: 1px solid var(--base-3);
	border-radius: var(--radius);
	padding: var(--space-s);
}
.mbea-filter-row {
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
}
.mbea-filters__form {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) auto;
	gap: 16px;
	align-items: end;
}
.mbea-field label,
.mbea-chips-label {
	display: block;
	margin-bottom: 8px;
	font-weight: 600;
	color: var(--brand-1);
}
.mbea-field input,
.mbea-field select {
	width: 100%;
	height: 48px;
	padding: 0 14px;
	box-sizing: border-box;
	font: inherit;
	font-size: var(--font-s);
	color: var(--text-1);
	background: var(--white);
	border: 1px solid #8a8aa8; /* 3.3:1 on white — WCAG 1.4.11 */
	border-radius: var(--radius);
}
.mbea-filters__submit {
	height: 48px;
	padding: 0 24px;
	font: inherit;
	font-size: var(--font-s);
	font-weight: 600;
	color: var(--white);
	background: var(--brand-2); /* Main button colour (Bright Royal), as .btn--primary. */
	border: 0;
	border-radius: var(--radius);
	cursor: pointer;
}
.mbea-filters__submit:hover {
	background: var(--brand-3);
}
.mbea-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.mbea-chip {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	min-height: 44px;
	padding: 0 16px;
	box-sizing: border-box;
	font-weight: 600;
	color: var(--brand-1);
	text-decoration: none;
	background: var(--white);
	border: 1px solid var(--base-3);
	border-radius: var(--radius);
}
.mbea-chip:hover {
	background: var(--base-2);
}
.mbea-chip[aria-current] {
	color: var(--white);
	background: var(--brand-1);
	border-color: var(--brand-1);
}
.mbea-chip__count {
	font-weight: 400;
}
.mbea-results-summary {
	margin: var(--space-s) 0;
	color: var(--text-2);
}
/* Resources: chip row sits under the white search panel. */
.mbea-filters + .mbea-filter-row {
	margin: var(--space-s) 0;
}
/* News + Resources: result count sits level with the filter chips. */
.mbea-filter-count {
	display: flex;
	align-items: center;
	min-height: 44px;
	margin: 0;
}
.mbea-field input:focus-visible,
.mbea-field select:focus-visible,
.mbea-filters__submit:focus-visible,
.mbea-chip:focus-visible {
	outline: 3px solid var(--brand-3);
	outline-offset: 2px;
}

/* ==========================================================================
   Resource rows (GenerateBlocks loop on the Resources page)

   The row layout, badge, text column and button are styled on the blocks in
   the Resources page. What stays here is everything that depends on the
   resource type (data-type): the symbol inside the type icon and the icon
   inside the button.
   ========================================================================== */
/* Type icon: the tile itself (white, hairline border, Brass base) is the
   GenerateBlocks global style "res-icon". The Ink symbol inside it is drawn
   here because it changes with the resource type.
   Default (PDF and anything unrecognised) is a document. */
.res-icon::before {
	content: "";
	width: 24px;
	height: 24px;
	background: currentColor;
	-webkit-mask: var(--res-type-icon) center / contain no-repeat;
	mask: var(--res-type-icon) center / contain no-repeat;
	--res-type-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3h7l4 4v14H7z'/%3E%3Cpath d='M14 3v4h4'/%3E%3Cpath d='M9.5 12.5h6M9.5 16h6'/%3E%3C/svg%3E");
}
.res-icon[data-type="word"]::before {
	--res-type-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 6h14M5 10h14M5 14h14M5 18h9'/%3E%3C/svg%3E");
}
.res-icon[data-type="excel"]::before {
	--res-type-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='5' width='16' height='14' rx='1'/%3E%3Cpath d='M4 10h16M4 14.5h16M10 5v14'/%3E%3C/svg%3E");
}
.res-icon[data-type="powerpoint"]::before {
	--res-type-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4.5' width='18' height='12' rx='1'/%3E%3Cpath d='M12 16.5V20M8.5 20h7M8 13v-2.5M12 13V8M16 13v-4'/%3E%3C/svg%3E");
}
.res-icon[data-type="link"]::before {
	--res-type-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 14a4 4 0 0 0 5.7 0l3-3a4 4 0 0 0-5.7-5.7l-1 1'/%3E%3Cpath d='M14 10a4 4 0 0 0-5.7 0l-3 3a4 4 0 0 0 5.7 5.7l1-1'/%3E%3C/svg%3E");
}
.res-icon[data-type="video"]::before {
	--res-type-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5.5' width='18' height='13' rx='2'/%3E%3Cpath d='M10.5 9.3l4.5 2.7-4.5 2.7z' fill='black'/%3E%3C/svg%3E");
}
/* "Submit a resource" box on the Resources page */
.res-icon[data-type="upload"]::before {
	--res-type-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2'/%3E%3Cpath d='M7 9l5-5 5 5'/%3E%3Cpath d='M12 4v12'/%3E%3C/svg%3E");
}
/* Quick answers lists on Contact and Become a member */
.res-icon[data-type="calendar"]::before {
	--res-type-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2z'/%3E%3Cpath d='M16 3v4M8 3v4M4 11h16'/%3E%3C/svg%3E");
}
.res-icon[data-type="join"]::before {
	--res-type-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 7a4 4 0 1 0 8 0a4 4 0 0 0-8 0'/%3E%3Cpath d='M16 19h6M19 16v6'/%3E%3Cpath d='M6 21v-2a4 4 0 0 1 4-4h4'/%3E%3C/svg%3E");
}
.res-icon[data-type="message"]::before {
	--res-type-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 20l1.3-3.9C1.976 12.663 2.874 8.228 6.4 5.726c3.526-2.501 8.59-2.296 11.845.48c3.255 2.777 3.695 7.266 1.029 10.501C16.608 19.942 11.659 20.922 7.7 19L3 20'/%3E%3C/svg%3E");
}
/* "What we do" lists on Home and About */
.res-icon[data-type="learn"]::before {
	--res-type-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 9L12 5 2 9l10 4 10-4v6'/%3E%3Cpath d='M6 10.6V16a6 3 0 0 0 12 0v-5.4'/%3E%3C/svg%3E");
}
.res-icon[data-type="people"]::before {
	--res-type-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 7a4 4 0 1 0 8 0a4 4 0 1 0-8 0'/%3E%3Cpath d='M3 21v-2a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v2'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3Cpath d='M21 21v-2a4 4 0 0 0-3-3.85'/%3E%3C/svg%3E");
}
.res-icon[data-type="share"]::before {
	--res-type-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 3h3l2 2h5a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2'/%3E%3Cpath d='M17 16v2a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h2'/%3E%3C/svg%3E");
}
.res-action::before {
	content: "";
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	background: currentColor;
	-webkit-mask: var(--res-icon) center / contain no-repeat;
	mask: var(--res-icon) center / contain no-repeat;
	--res-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7 10l5 5 5-5M5 20h14'/%3E%3C/svg%3E");
}
.res-action[data-type="link"]::before {
	--res-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h6v6M20 4l-9 9M18 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h5'/%3E%3C/svg%3E");
}
.res-action[data-type="video"]::before {
	--res-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5l11 7-11 7z' fill='black'/%3E%3C/svg%3E");
}

/* ==========================================================================
   News cards
   ========================================================================== */
/* The card itself (link colour, title underline on hover, focus ring, hidden
   empty image) is the GenerateBlocks global style "news-card". Only the
   newsletter-category variants further down stay here. */

@media (max-width: 767px) {
	.mbea-filters__form {
		grid-template-columns: 1fr;
	}
	.mbea-filter-count {
		min-height: 0;
	}
	/* The chip row scrolls sideways inside its own box; without the two rules
	   on the wrapper it would stretch the whole page wider than the screen. */
	.mbea-chips-wrap {
		flex: 1 1 100%;
		min-width: 0;
		max-width: 100%;
	}
	.mbea-chips {
		flex-wrap: nowrap;
		overflow-x: auto;
		padding-bottom: 6px;
	}
	.mbea-chips li {
		flex-shrink: 0;
	}
}
/* Newsletter cards: PDF label, and show the top of the cover page. */
.category-newsletters .news-card .txt--all-caps::after {
	content: "PDF";
	margin-left: 8px;
	padding: 2px 5px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.04em;
	color: var(--white);
	background: var(--brand-1);
	border-radius: var(--radius);
}
.category-newsletters .news-card img {
	object-position: top;
}
/* End Resources + News */

/* ==========================================================================
   Single news post
   ========================================================================== */
/* Breadcrumb on the Ink hero. */
.post-crumbs a {
	color: var(--base-3);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.post-crumbs a:hover,
.post-crumbs a:focus-visible {
	color: var(--white);
}
/* Featured photo sits below the hero (no overlap), as wide as the hero's text column (1160px, Post Hero wrapper). */
.post-feature {
	max-width: 1200px;
	margin: var(--space-l) auto 0;
	padding: 0 20px;
	box-sizing: border-box;
}
.post-feature:not(:has(img[src*="/"])) {
	display: none;
}
.post-feature img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	box-sizing: border-box;
	border: 1px solid var(--base-3);
	border-radius: var(--radius);
	background: var(--base-2);
}
.post-feature figcaption {
	margin-top: 10px;
	font-size: var(--font-xs);
	color: var(--text-2);
}
.post-feature figcaption:empty {
	display: none;
}

/* Article body (post editor content). */
.single-post .entry-content {
	max-width: 720px;
	margin: 0 auto;
	padding: var(--space-l) 20px 0;
	box-sizing: border-box;
	font-size: clamp(1.125rem, 1.074rem + 0.196vi, 1.1875rem);
	line-height: 1.7;
}
.single-post .entry-content h2 {
	margin: 1.6em 0 0.6em;
}
.single-post .entry-content > :first-child {
	margin-top: 0;
}
.single-post .entry-content li {
	margin-bottom: 0.5em;
}
.single-post .entry-content figcaption {
	font-size: var(--font-xs);
	color: var(--text-2);
}

/* File block (attachments) as a download card. */
.single-post .wp-block-file {
	display: flex;
	align-items: center;
	gap: 18px;
	margin: 2em 0;
	padding: 18px 20px;
	background: var(--white);
	border: 1px solid var(--base-3);
	border-radius: var(--radius);
}
.single-post .wp-block-file::before {
	content: "";
	width: 40px;
	height: 48px;
	flex-shrink: 0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 64'%3E%3Cpath d='M4 2h34l16 16v42a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2z' fill='%23ECECF3' stroke='%2316163A' stroke-width='2'/%3E%3Cpath d='M38 2v16h16' fill='none' stroke='%2316163A' stroke-width='2'/%3E%3C/svg%3E") no-repeat center / contain;
}
.single-post .wp-block-file > a:not(.wp-block-file__button) {
	flex-grow: 1;
	font-weight: 700;
	color: var(--brand-1);
	text-decoration: none;
}
.single-post .wp-block-file .wp-block-file__button {
	margin: 0;
	padding: 0 18px;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	font-weight: 600;
	color: var(--brand-3);
	background: transparent;
	border: 2px solid var(--brand-3);
	border-radius: var(--radius);
	text-decoration: none;
}

/* Share row on posts. The row's box and the newer / older cards are styled in the
   Post Footer element (GenerateBlocks); only the shortcode's own markup is styled here. */
.post-foot__group {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}
.post-foot__label {
	margin-right: 6px;
	font-size: 13px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--text-2);
}
/* Round icon buttons (icons from [mbea_post_share] in inc/news.php) */
.post-share {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	box-sizing: border-box;
	color: var(--brand-1);
	text-decoration: none;
	background: var(--white);
	border: 1px solid var(--base-3);
	border-radius: 50%;
	cursor: pointer;
}
.post-share:hover {
	background: var(--base-2);
	color: var(--brand-3);
}
.post-share__icon, .post-share__done { display: inline-flex; }
.post-share__done, .post-share.is-copied .post-share__icon { display: none; }
.post-share.is-copied .post-share__done { display: inline-flex; color: var(--brand-3); }
.post-share-status {
	min-height: 1.5em;
	margin: 8px 0 0;
	font-size: var(--font-xs);
	color: var(--text-2);
}

.post-share:focus-visible {
	outline: 3px solid var(--brand-3);
	outline-offset: 2px;
}

/* End Single news post */

/* Site footer: styled in GenerateBlocks, on the blocks of the "Footer" element
   (Appearance → Elements → Footer). Nothing for it lives in this file. */

/* ==========================================================================
   Hero watermark: the seal at 13% on Ink, matching the footer.
   Applies to every hero (global class "section--hero").
   ========================================================================== */
.section--hero {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}
.section--hero::after {
	content: "";
	position: absolute;
	z-index: -1;
	top: 50%;
	right: -120px;
	width: 560px;
	height: 560px;
	transform: translateY(-50%);
	background: url("/wp-content/uploads/mbea-logo-minified.svg") center / contain no-repeat;
	opacity: 0.13;
	pointer-events: none;
	/* Fade the seal out toward the bottom so it never ends in a hard edge
	   where the hero meets the dark band below it (Home, Conference). */
	-webkit-mask-image: linear-gradient(to bottom, #000 35%, transparent 92%);
	mask-image: linear-gradient(to bottom, #000 35%, transparent 92%);
}
@media (max-width: 767px) {
	.section--hero::after {
		right: -170px;
		width: 420px;
		height: 420px;
	}
}
/* End Hero watermark */

/* ==========================================================================
   Buttons: arrow on every solid button (GenerateBlocks global style btn--primary)
   A decorative icon GenerateBlocks can't output, so it lives here. The arrow
   takes the button's text colour and nudges right on hover.
   ========================================================================== */
.btn--primary { gap: 0.5em; }
.btn--primary::after {
	content: "";
	flex-shrink: 0;
	width: 1.1em;
	height: 1.1em;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 18l6-6M13 6l6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 18l6-6M13 6l6 6'/%3E%3C/svg%3E") center / contain no-repeat;
}
@media (prefers-reduced-motion: no-preference) {
	.btn--primary::after { transition: transform 0.15s ease; }
	.btn--primary:hover::after, .btn--primary:focus-visible::after { transform: translateX(3px); }
}
/* End Buttons */

/* ==========================================================================
   Conference page
   ========================================================================== */
/* The dark band under the hero (Conference and Home) reads as part of it: close the hairline seam. */
.conf-band,
.hero-band {
	position: relative;
	margin-top: -1px;
}
/* Jump-link targets clear the sticky "Jump to" bar. */
.page :is(#overview, #schedule, #register, #location, #exhibit, #faq) {
	scroll-margin-top: 80px;
}
/* Sticky "Jump to" bar: sit below the WordPress toolbar for signed-in users,
   and scroll the links sideways without a visible scrollbar. */
.admin-bar .jump-nav { top: 32px; }
@media (max-width: 782px) { .admin-bar .jump-nav { top: 46px; } }
@media (max-width: 600px) { .admin-bar .jump-nav { top: 0; } }
.jump-nav nav { scrollbar-width: none; }
.jump-nav nav::-webkit-scrollbar { display: none; }
/* End Conference page */

/* Smooth scrolling for in-page links (hero buttons, jump links). Off for people who ask for reduced motion. */
@media (prefers-reduced-motion: no-preference) {
	html { scroll-behavior: smooth; }
}


/* ==========================================================================
   Conferences (/conference/ and /conference/YEAR/), drawn by inc/settings.php.
   Uses the global .section, .btn and .txt colours; everything else is mc-.
   ========================================================================== */
.mc { --mc-line: var(--base-3); }
.mc p { margin: 0; }
.mc-wrap { max-width: 1440px; margin: 0 auto; }
.mc-section { background: var(--white); }
.mc-section--alt { background: var(--base-1); }
.mc section[id] { scroll-margin-top: 90px; }
.mc-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--space-s); margin-bottom: var(--space-l); }
.mc-eyebrow { color: var(--brand-5); letter-spacing: 0.05em; text-transform: uppercase; }
.mc-title { margin: 0; color: var(--brand-1); }
.mc-lead { max-width: 60ch; margin-top: calc(var(--space-s) * -0.5) !important; }
.mc-actions { display: flex; flex-wrap: wrap; gap: var(--space-xs); margin-top: var(--space-s); }
.mc-btn { display: inline-flex; width: auto; gap: 0.4em; }
.mc-btn .mc-icon { width: 1.1em; height: 1.1em; }
/* Secondary actions: text link with an icon (one solid button per section, the rest links) */
.mc-link { display: inline-flex; align-items: center; gap: 0.4em; color: var(--brand-3); font-weight: 600; text-decoration: none; }
.mc-link > span:not(.mc-link__meta):not(.screen-reader-text) { text-decoration: underline; text-underline-offset: 3px; }
.mc-link:hover, .mc-link:focus { color: var(--brand-1); }
.mc-link .mc-icon { flex-shrink: 0; text-decoration: none; }
.mc-link__meta { color: var(--text-2); font-weight: 400; font-size: 0.85em; text-decoration: none; }
.mc-jump .mc-link { flex-shrink: 0; }
.mc-actions { align-items: center; column-gap: var(--space-s); }

/* Dark band under the hero */
/* Hero: conference status pill and When/Where line (Hero element). They are filled in
   only on conference pages (inc/conference.php); empty ones hide everywhere else. */
.hero-status:empty, .hero-when:empty, .hero-where:empty { display: none; }
.hero-details:not(:has(.hero-when:not(:empty), .hero-where:not(:empty))) { display: none; }
.hero-when::before, .hero-where::before {
	content: "";
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	background: var(--brand-4);
	-webkit-mask: var(--hero-icon) center / contain no-repeat;
	mask: var(--hero-icon) center / contain no-repeat;
}
.hero-when::before { --hero-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2z'/%3E%3Cpath d='M16 3v4M8 3v4M4 11h16'/%3E%3C/svg%3E"); }
.hero-where::before { --hero-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 11a3 3 0 1 0 6 0a3 3 0 0 0-6 0'/%3E%3Cpath d='M17.66 16.66 13.41 20.9a2 2 0 0 1-2.83 0l-4.24-4.24a8 8 0 1 1 11.32 0z'/%3E%3C/svg%3E"); }
/* Hero Brass line (global style section--hero): on conference pages the dark date band continues the hero, and the line sits on the jump bar instead. */
.page-id-750 .section--hero, .single-mbea_conference .section--hero { border-bottom: 0; }
.mc-band { position: relative; margin-top: -1px; background: var(--brand-1); color: var(--white); padding: 0 var(--space-s) var(--space-xl); }
.mc-band__inner { display: flex; flex-wrap: wrap; gap: var(--space-l); max-width: 1440px; margin: 0 auto; }
.mc-band dt { color: var(--brand-4); font-size: 13px; letter-spacing: 0.05em; text-transform: uppercase; font-weight: 400; }
.mc-band dd { margin: 0; font-weight: 600; }

/* "Jump to" bar (the jump-nav script in functions.php marks the current link) */
.mc-jump { position: sticky; top: 0; z-index: 50; background: var(--base-2); border-top: 4px solid var(--brand-4); border-bottom: 1px solid var(--mc-line); padding: 0 var(--space-s); }
.mc-jump__inner { display: flex; align-items: center; gap: var(--space-s); max-width: 1440px; margin: 0 auto; }
.mc-jump__label { flex-shrink: 0; color: var(--text-2); font-size: 13px; letter-spacing: 0.05em; text-transform: uppercase; }
.mc-jump nav { display: flex; gap: var(--space-s); overflow-x: auto; flex: 1; }
.mc-jump nav a { display: inline-flex; align-items: center; flex-shrink: 0; min-height: 64px; color: var(--brand-1); font-weight: 600; text-decoration: none; white-space: nowrap; border-top: 3px solid transparent; border-bottom: 3px solid transparent; }
.mc-jump nav a:hover, .mc-jump nav a.is-current { border-bottom-color: var(--brand-4); }
.mc-jump .mc-btn { flex-shrink: 0; }
@media (max-width: 767px) { .mc-jump__label { display: none; } .mc-jump .mc-btn, .mc-jump .mc-link { display: none; } }

/* Overview */
.mc-overview { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: var(--space-l) var(--space-xl); align-items: center; }
.mc-overview .mc-head { margin-bottom: var(--space-s); }
/* Reasons: a vertical list with hairline dividers (like the schedule rows) */
.mc-reason:first-child { padding-top: 0; }
.mc-reason:last-child { padding-bottom: 0; border-bottom: 0; }
/* Icon tiles: same look as the Resources type icons (Ink square, Brass base rule) */
.mc-reason { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: var(--space-s); align-items: start; padding: 12px 0; border-bottom: 1px solid var(--mc-line); }
.mc-reason__icon { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; box-sizing: border-box; background: var(--white); border: 1px solid var(--base-3); border-bottom: 3px solid var(--brand-4); border-radius: var(--radius); color: var(--brand-1); }
.mc-reason__icon .mc-icon { width: 20px; height: 20px; }
.mc-reason h3 { font-size: var(--font-m); margin: 0; color: var(--brand-1); }
.mc-reason p { font-size: var(--font-s); }
@media (max-width: 1024px) { .mc-overview { grid-template-columns: 1fr; } }

/* Speakers: one keynote = dark feature band; several = cards (talk title first, speaker second) */
.mc-section--feature { background: var(--brand-1); color: var(--white); }
.mc-feature__main { max-width: 900px; }
.mc-feature .mc-eyebrow { color: var(--brand-4); }
.mc-feature__talk { margin: var(--space-xs) 0 0; color: var(--white); line-height: 1.2; }
.mc-feature__about { max-width: 62ch; margin-top: var(--space-s) !important; color: var(--base-4); }
.mc-feature .mc-person { margin-top: var(--space-m); padding-top: var(--space-s); border-top: 1px solid rgba(255, 255, 255, 0.2); }
.mc-feature .mc-person__name { color: var(--white); }
.mc-feature .mc-person__role { color: var(--base-4); }
.mc-person { display: flex; align-items: center; gap: var(--space-xs); }
.mc-person__photo { flex-shrink: 0; width: 56px; height: 56px; border-radius: 50%; object-fit: cover; }
.mc-person__initials { display: inline-flex; align-items: center; justify-content: center; background: var(--brand-2); color: var(--white); font-weight: 600; font-size: 1rem; }
.mc-person__name { font-weight: 600; color: var(--brand-1); }
.mc-person__role { font-size: var(--font-xs); color: var(--text-2); }
/* Desktop: talk on the left, speaker on the right with a larger photo */
@media (min-width: 1025px) {
	.mc-feature { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 360px); column-gap: var(--space-xl); align-items: center; }
	.mc-feature .mc-person { flex-direction: column; align-items: flex-start; gap: var(--space-s); margin-top: 0; padding: var(--space-xs) 0 var(--space-xs) var(--space-l); border-top: 0; border-left: 1px solid rgba(255, 255, 255, 0.2); }
	.mc-feature .mc-person__photo { width: 88px; height: 88px; }
	.mc-feature .mc-person__initials { font-size: 1.5rem; }
	.mc-feature .mc-person__name { font-size: var(--font-m); }
}
.mc-speakers { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr)); gap: var(--space-m); }
.mc-speaker { display: flex; flex-direction: column; gap: var(--space-xs); background: var(--white); border: 1px solid var(--mc-line); border-top: 4px solid var(--base-3); border-radius: var(--radius); padding: var(--space-m); }
.mc-speaker--keynote { border-top-color: var(--brand-4); }
.mc-speaker__talk { margin: 0; font-size: var(--font-m); color: var(--brand-1); }
.mc-speaker__bio { font-size: var(--font-s); }
.mc-speaker .mc-person { margin-top: auto; padding-top: var(--space-xs); }
.mc-speaker .mc-person__photo { width: 44px; height: 44px; font-size: 0.875rem; }

/* Schedule */
.mc-days { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: var(--space-m); }
.mc-day { background: var(--white); border: 1px solid var(--mc-line); border-radius: var(--radius); padding: var(--space-m); }
.mc-day__name { display: flex; flex-direction: column; font-size: var(--font-m); margin: 0 0 var(--space-xs); color: var(--brand-1); }
.mc-day__name span { color: var(--brand-5); font-family: var(--gp-font--ibm-plex-sans); font-size: var(--font-xs); font-weight: 400; letter-spacing: 0.05em; text-transform: uppercase; }
.mc-items { list-style: none; margin: 0; padding: 0; }
.mc-item { padding: 0.75rem 0; border-top: 1px solid var(--mc-line); }
.mc-item__time { display: block; color: var(--text-2); font-size: var(--font-xs); font-variant-numeric: tabular-nums; }
.mc-item__title { font-weight: 600; color: var(--brand-1); }
.mc-item__note { color: var(--text-2); font-size: var(--font-xs); }
.mc-sessions { margin-top: 0.4rem; font-size: var(--font-xs); }
.mc-sessions summary { cursor: pointer; color: var(--brand-3); font-weight: 600; }
.mc-sessions ul { list-style: none; margin: 0.5rem 0 0; padding: 0; display: grid; gap: 0.5rem; }
.mc-sessions li { display: grid; grid-template-columns: 2.75rem minmax(0, 1fr); gap: 0.5rem; }
.mc-code { font-weight: 700; color: var(--brand-5); }

/* Registration */
.mc-prices { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--space-s); margin-top: var(--space-m); }
.mc-price { background: var(--white); border: 1px solid var(--mc-line); border-radius: var(--radius); padding: var(--space-m); }
.mc-price__who { font-weight: 600; color: var(--brand-1); }
.mc-price__amount { font-family: var(--gp-font--literata); font-weight: 700; font-size: 2rem; line-height: 1.2; color: var(--brand-1); }
.mc-price__note { color: var(--text-2); font-size: var(--font-xs); }
.mc-register { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--space-m); align-items: center; margin-top: var(--space-m); padding: var(--space-m); background: var(--base-2); border-radius: var(--radius); }
/* "Before you start" notes read as one short paragraph beside the button. */
.mc-register__title, .mc-notes, .mc-notes li { display: inline; }
.mc-register__title { font-weight: 600; color: var(--brand-1); margin-right: 0.3em !important; }
.mc-register__title::after { content: ":"; }
.mc-notes { margin: 0; padding: 0; list-style: none; }
.mc-notes li + li { margin-left: 0.3em; }
@media (max-width: 767px) { .mc-register { grid-template-columns: 1fr; } }

/* Location */
.mc-location { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-l) var(--space-xl); align-items: start; }
.mc-location--no-photo { grid-template-columns: 1fr; max-width: 640px; }
.mc-location__photo { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--radius); }
/* Venue column: name + city, then a hairline list (matches Overview reasons) */
.mc-venue__name { margin: 0; color: var(--brand-1); line-height: 1.15; }
.mc .mc-venue__city { margin: 0.25rem 0 var(--space-l); color: var(--text-2); }
.mc-details { margin: 0; }
.mc-detail:first-child { padding-top: 0; }
.mc-detail:last-child { padding-bottom: 0; border-bottom: 0; }
.mc-detail { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 10px; padding: 12px 0; border-bottom: 1px solid var(--mc-line); }
.mc-detail__icon { color: var(--brand-5); padding-top: 2px; }
.mc-detail__icon .mc-icon { width: 20px; height: 20px; }
.mc-details dt { font-weight: 600; color: var(--brand-1); }
.mc-details dd { margin: 0; }
.mc-detail__meta { display: block; font-size: var(--font-s); color: var(--text-2); }
.mc-venue .mc-actions { margin-top: var(--space-s); }
@media (max-width: 767px) { .mc-location { grid-template-columns: 1fr; } }

/* Sponsors: flat logo grid */
.mc-sponsors { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: var(--space-s); }
.mc-sponsor { display: flex; }
.mc-sponsor > a, .mc-sponsor > img, .mc-sponsor > span { flex: 1; }
.mc-sponsor a, .mc-sponsor > img, .mc-sponsor__name { display: flex; align-items: center; justify-content: center; min-height: 120px; padding: var(--space-s); background: var(--white); border: 1px solid var(--mc-line); border-radius: var(--radius); }
.mc-sponsor img { max-width: 100%; max-height: 72px; width: auto; height: auto; object-fit: contain; }
.mc-sponsor a:hover { border-color: var(--brand-3); }
.mc-sponsor__name { font-weight: 600; color: var(--brand-1); text-align: center; }

/* Questions */
.mc-faq-wrap { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-l) var(--space-xl); align-items: start; }
.mc-faq-wrap .mc-head { margin-bottom: var(--space-s); }
@media (max-width: 1024px) { .mc-faq-wrap { grid-template-columns: 1fr; } }
.mc-faq__item + .mc-faq__item { border-top: 1px solid var(--mc-line); }
.mc-faq__item:first-child summary { padding-top: 0; }
.mc-faq__item summary { position: relative; cursor: pointer; list-style: none; padding: var(--space-s) 2.5rem var(--space-s) 0; font-weight: 600; color: var(--brand-1); }
.mc-faq__item summary::-webkit-details-marker { display: none; }
.mc-faq__item summary::after { content: "+"; position: absolute; right: 0.5rem; top: 50%; transform: translateY(-50%); font-size: 1.5rem; line-height: 1; color: var(--brand-3); }
.mc-faq__item[open] summary::after { content: "–"; }
.mc-faq__answer { padding: 0 0 var(--space-s); }
.mc-faq__answer p:last-child { margin-bottom: 0; }

/* Recap */
.mc-prose { max-width: 72ch; }
.mc-prose > *:last-child { margin-bottom: 0; }
.mc-gallery { list-style: none; margin: var(--space-l) 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: var(--space-xs); }
.mc-gallery img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius); }

/* Closing callout */
.mc-section--callout { background: var(--white); padding-top: 0; }
.mc-callout { display: grid; grid-template-columns: 180px minmax(0, 1fr); background: var(--white); border: 1px solid var(--mc-line); border-radius: var(--radius); overflow: hidden; }
.mc-callout--no-date { grid-template-columns: 1fr; }
.mc-callout__date { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; padding: var(--space-m) var(--space-s); background: var(--brand-1); color: var(--white); text-align: center; }
.mc-callout__month { font-size: var(--font-xs); letter-spacing: 0.12em; text-transform: uppercase; color: var(--brand-4); }
.mc-callout__days { font-family: var(--gp-font--literata); font-weight: 700; font-size: 2.5rem; line-height: 1.1; }
.mc-callout__year { font-size: var(--font-s); opacity: 0.85; }
.mc-callout__body { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-s) var(--space-m); padding: var(--space-m) var(--space-l); }
.mc-callout__body .mc-actions { margin-top: 0; }
.mc-callout__title { font-family: var(--gp-font--literata); font-weight: 700; font-size: var(--font-l, 1.5rem); color: var(--brand-1); line-height: 1.2; }
.mc .mc-callout__text { margin-top: 0.25rem; color: var(--text-2); }
@media (max-width: 767px) {
	.mc-callout { grid-template-columns: 1fr; }
	.mc-callout__date { flex-direction: row; gap: 0.5em; padding: var(--space-s); }
	.mc-callout__days { font-size: 1.75rem; }
	.mc-callout__body { padding: var(--space-m); }
}

/* Announcement bar (every page except conference pages, while registration is open) */
.mc-bar { position: relative; background: var(--brand-1); color: var(--white); padding: 10px 3rem 10px var(--space-s); text-align: center; font-size: var(--font-xs); }
.mc-bar[hidden] { display: none; }
.mc-bar__text { margin: 0; }
.mc-bar__text a { color: var(--white); font-weight: 600; margin-left: 0.5em; text-underline-offset: 3px; }
.mc-bar__close { position: absolute; right: 0.5rem; top: 50%; transform: translateY(-50%); width: 36px; height: 36px; padding: 0; background: transparent; color: var(--white); border: 0; font-size: 1.5rem; line-height: 1; cursor: pointer; }
.mc-bar__close:hover, .mc-bar__close:focus { background: rgba(255, 255, 255, 0.12); color: var(--white); }

/* "Upcoming conference" box on Conference news posts */
.mc-postbox { margin: var(--space-l) 0 0; padding: var(--space-m); background: var(--base-1); border-left: 4px solid var(--brand-4); border-radius: var(--radius); }
.mc-postbox p { margin: 0; }
.mc-postbox__name { font-family: var(--gp-font--literata); font-weight: 700; font-size: var(--font-m); color: var(--brand-1); }
.mc-postbox__meta { color: var(--text-2); }
/* End Conferences */

/* News archive: no "Browse newsletters" callout on the Newsletters category itself */
.category-newsletters .gb-element-54eb2225 { display: none; }
