/*
Theme Name: MATE Child
Theme URI: https://midatlanticexpo.org
Description: Child theme for Mid-Atlantic Turners Expo — staging on website_556d3277.
Author: HB Ops
Template: bluehost-blueprint
Version: 0.4.44
Text Domain: mate-child
*/

/* Dawn color schemes from live MATE:
   background-1 #fff/#121212  accent-1 buttons #00825a
   accent-2 header #00aeef / white text
   page_width 1200 */
:root {
	--mate-green: #00825a;
	--mate-green-dark: #006846;
	--mate-cyan: #00aeef;
	--mate-cyan-dark: #0094cc;
	--mate-ink: #121212;
	--mate-muted: #4a4a4a;
	--mate-paper: #ffffff;
	--mate-wash: #f3f3f3;
	--mate-page-width: 1200px;
}

html,
body {
	font-family: "Lato", system-ui, -apple-system, "Segoe UI", sans-serif !important;
	color: var(--mate-ink) !important;
	background: var(--mate-paper) !important;
}

/* Hide Blueprint FSE header — we render the MATE bar ourselves */
.wp-site-blocks > header.wp-block-template-part,
.wp-site-blocks > header.wp-block-template-part header,
.wp-site-blocks > footer.wp-block-template-part,
header.wp-block-group.has-global-padding:has(.wp-block-site-title) {
	display: none !important;
}

.mate-topbar {
	background: var(--mate-cyan);
	color: #fff;
	padding: 0.65rem 1.5rem;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0.75rem 1.5rem;
	justify-content: space-between;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.mate-topbar a {
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	text-decoration: none;
}

.mate-nav-panel {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.35rem 1.15rem;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	flex: 1 1 auto;
	min-width: 0;
}

.mate-nav-panel a:hover,
.mate-nav-panel a[aria-current="page"] {
	text-decoration: underline;
	text-underline-offset: 4px;
}

.mate-brand { order: 1; }
.mate-nav-panel { order: 4; }
.mate-nav-tools { order: 5; }

.mate-nav-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	order: 3;
	background: transparent;
	border: 0;
	color: #fff;
	padding: 0.25rem;
	cursor: pointer;
	line-height: 0;
}

.mate-nav-tools {
	display: inline-flex;
	align-items: center;
	gap: 1rem;
	flex: 0 0 auto;
}

.mate-nav-util {
	display: inline-flex;
	align-items: center;
	gap: 1.15rem;
	margin-left: 0.5rem;
	padding-left: 0.85rem;
	border-left: 1px solid rgba(255, 255, 255, 0.45);
	font-weight: 800;
}

.mate-nav-sep {
	opacity: 0.85;
	font-weight: 400;
}

.mate-nav-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
	color: #fff;
}

.mate-nav-icon svg {
	width: 1.35em;
	height: 1.35em;
	display: block;
}

.mate-topbar a.mate-nav-icon:hover,
.mate-topbar a.mate-nav-icon[aria-current="page"] {
	text-decoration: none;
	opacity: 0.82;
}

.mate-nav-search {
	position: relative;
}

.mate-nav-search summary {
	list-style: none;
	cursor: pointer;
	color: #fff;
}

.mate-nav-search summary::-webkit-details-marker,
.mate-nav-search summary::marker {
	display: none;
	content: "";
}

.mate-nav-search[open] summary,
.mate-nav-search summary:hover {
	text-decoration: none;
	opacity: 0.82;
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

.mate-nav-search-form {
	position: absolute;
	right: 0;
	top: calc(100% + 0.55rem);
	z-index: 40;
	display: flex;
	gap: 0.35rem;
	background: #fff;
	padding: 0.45rem;
	border-radius: 4px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
}

.mate-nav-search-form input[type="search"] {
	width: 14rem;
	max-width: 70vw;
	padding: 0.4rem 0.55rem;
	border: 1px solid #ccc;
	border-radius: 3px;
	color: var(--mate-ink);
	background: #fff;
	font: inherit;
}

.mate-nav-search-form button {
	background: var(--mate-green);
	color: #fff;
	border: 0;
	border-radius: 3px;
	padding: 0.4rem 0.7rem;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

.mate-nav-search-form button:hover {
	background: var(--mate-green-dark);
}

body.woocommerce-account:not(.logged-in) .woocommerce {
	max-width: 28rem;
	margin: 1.5rem auto 2.5rem;
}

.mate-coming-soon {
	max-width: 40rem;
	margin: 2.5rem auto 4rem;
	text-align: center;
	padding: 0 1rem;
}

.mate-coming-soon h1 {
	font-size: clamp(1.8rem, 4vw, 2.6rem);
	margin: 0 0 1rem;
	color: var(--mate-ink);
}

.mate-coming-soon-image {
	display: block;
	max-width: min(100%, 36rem);
	height: auto;
	margin: 0 auto 1.35rem;
}

.mate-coming-soon-body {
	text-align: left;
	font-size: 1.08rem;
	color: var(--mate-ink);
	line-height: 1.55;
}

.mate-coming-soon-body p,
.mate-coming-soon p {
	font-size: 1.08rem;
	color: var(--mate-muted);
	margin: 0 0 0.85rem;
}

.mate-coming-soon-body h2,
.mate-coming-soon-body h3,
.mate-coming-soon-body h4 {
	color: var(--mate-ink);
	margin: 1.1rem 0 0.4rem;
}

.mate-coming-soon-body ul,
.mate-coming-soon-body ol {
	margin: 0 0 0.85rem;
	padding-left: 1.35rem;
	text-align: left;
	color: var(--mate-muted);
}

body.mate-coming-soon-page .wp-block-post-title {
	display: none !important;
}

.mate-brand {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	font-weight: 800;
	font-size: 2.1rem;
	letter-spacing: 0.01em;
	min-width: 0;
	flex: 0 0 auto;
}

.mate-brand img {
	height: 100px;
	width: 100px;
	object-fit: contain;
	display: block;
	flex-shrink: 0;
	background: transparent;
}

.mate-brand span {
	line-height: 1.1;
	display: block;
}

.mate-hero,
.mate-hero-box-wrap {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	box-sizing: border-box;
}

.mate-hero {
	position: relative;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding: 0;
	line-height: 0;
	font-size: 0;
	background: #1a1a1a;
	overflow: hidden;
	max-height: 630px;
}

.mate-hero p {
	margin: 0;
	line-height: 0;
}

.mate-hero img {
	width: 100%;
	height: 630px;
	max-height: 630px;
	object-fit: cover;
	object-position: center;
	display: block;
	margin: 0;
}

.mate-hero-title {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 1in;
	margin: 0;
	padding: 0 1rem;
	text-align: center;
	font-size: clamp(2rem, 5vw, 3.25rem);
	font-weight: 800;
	line-height: 1.1;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.55);
	z-index: 2;
}

.mate-hero-box-wrap {
	padding: 0;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.mate-hero-box {
	background: var(--mate-green);
	color: #fff;
	width: 100%;
	min-height: 13.5rem;
	padding: 1.75rem 2rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	box-sizing: border-box;
}

.mate-hero-box .mate-hero-date,
.mate-hero-box h1.mate-hero-date {
	margin: 0 0 1.1rem;
	font-size: clamp(1.85rem, 3.5vw, 2.6rem);
	font-weight: 800;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	line-height: 1.15;
}

.mate-hero-box p,
.mate-hero-box h4 {
	margin: 0;
	max-width: none;
	width: 100%;
	font-size: 1.1rem;
	font-weight: 400;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	line-height: 1.5;
}

.mate-hero-box p + p {
	margin-top: 1.05rem;
}

.mate-page-wrap,
.woocommerce .site-main {
	max-width: var(--mate-page-width);
	margin-left: auto;
	margin-right: auto;
}

.mate-page-wrap {
	padding: 2rem 1.25rem 3.5rem;
	text-align: center;
}

.mate-cards {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem 2.5rem;
	padding: 0.5rem 0 1.75rem;
	max-width: 980px;
	margin: 0 auto;
	align-items: start;
}

@media screen and (min-width: 750px) {
	.mate-cards {
		grid-template-columns: 1fr 1fr;
	}
}

.mate-card {
	border: 0;
	border-radius: 0;
	overflow: hidden;
	background: #fff;
	text-decoration: none;
	color: var(--mate-ink);
	display: flex;
	flex-direction: column;
	width: 100%;
	min-width: 0;
}

.mate-card img {
	width: 100%;
	aspect-ratio: 1 / 1;
	height: auto;
	object-fit: cover;
	object-position: center;
	display: block;
}

.mate-card-caption {
	display: block;
	width: 100%;
	text-align: center;
	padding: 0.9rem 0.25rem 0;
}

.mate-card h3 {
	margin: 0 0 0.3rem;
	font-size: 1.35rem;
	color: var(--mate-ink) !important;
}

.mate-card p {
	margin: 0;
	color: var(--mate-muted);
}

.button,
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt {
	background: var(--mate-green) !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	border: 0 !important;
	border-radius: 0 !important;
	font-weight: 700;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover {
	background: var(--mate-green-dark) !important;
}

/* Woo block-theme sets variations select to height:3em + 0.9em padding, so
   long Time Slot / pass labels wrap and paint on top of themselves. */
.woocommerce table.variations {
	width: 100%;
	border: 0;
}
.woocommerce table.variations th.label,
.woocommerce table.variations td.value {
	display: block;
	width: 100%;
	text-align: left;
	padding: 0;
	vertical-align: middle;
}
.woocommerce table.variations th.label {
	padding: 0.35rem 0 0.2rem;
}
.woocommerce table.variations td.value {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.45rem 0.75rem;
	padding-bottom: 0.65rem;
}
.mate-ticket-fields {
	width: min(100%, 38rem);
	margin: 0.35rem 0 1rem;
	text-align: left;
}
.mate-ticket-fields .form-row {
	margin: 0 0 0.75rem;
}
.mate-ticket-fields label {
	display: block;
	font-weight: 700;
	margin-bottom: 0.25rem;
}
.mate-ticket-fields .required {
	color: #b42318;
	text-decoration: none;
}
.mate-ticket-fields input.input-text,
.mate-ticket-fields select {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}
.mate-vip-garment {
	border: 1px solid rgba(18, 18, 18, 0.18);
	border-radius: 6px;
	padding: 0.65rem 0.85rem 0.85rem;
	margin: 0 0 0.75rem;
	min-width: 0;
}
.mate-vip-garment legend {
	font-weight: 700;
	padding: 0 0.3rem;
}
.mate-vip-garment-note {
	margin: 0.15rem 0 0.55rem;
	font-size: 0.95rem;
	font-weight: 400;
	color: var(--mate-muted);
}
.mate-vip-garment-list {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
}
.mate-vip-garment-option {
	display: flex;
	align-items: flex-start;
	gap: 0.9rem;
	font-weight: 600;
	margin: 0;
	cursor: pointer;
	line-height: 1.35;
}
.mate-ticket-fields .mate-vip-garment-option input[type="radio"] {
	width: auto;
	max-width: none;
	margin: 0.2rem 0.85rem 0 0 !important;
	flex-shrink: 0;
}
.mate-coupons-off .coupon,
.mate-coupons-off .woocommerce-form-coupon-toggle,
.mate-coupons-off .wc-block-components-totals-coupon,
.mate-coupons-off .wp-block-woocommerce-cart-order-summary-coupon-form-block,
.mate-coupons-off .wp-block-woocommerce-checkout-order-summary-coupon-form-block {
	display: none !important;
}

.woocommerce-cart .wc-block-components-quantity-selector__button,
.wp-block-woocommerce-cart .wc-block-components-quantity-selector__button,
.woocommerce-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
	display: none !important;
}
.woocommerce-cart .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input,
.wp-block-woocommerce-cart input.wc-block-components-quantity-selector__input {
	pointer-events: none;
	background: #f3f3f3;
}
.mate-cart-qty {
	font-weight: 700;
}

.woocommerce table.variations select,
.woocommerce-page form.cart select,
.woocommerce div.product form.cart .variations select,
.mate-ticket-fields select {
	-webkit-appearance: none;
	appearance: none;
	display: block;
	height: auto !important;
	min-height: 2.5rem;
	max-width: 100%;
	width: min(100%, 38rem);
	min-width: 0 !important;
	margin: 0;
	padding: 0.4rem 2.2rem 0.4rem 0.7rem !important;
	line-height: 1.3 !important;
	font-size: 1rem !important;
	font-family: inherit;
	font-weight: 400;
	color: var(--mate-ink);
	-webkit-text-fill-color: var(--mate-ink);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	background-color: #fff;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23121212' d='M1.2 1.1 6 5.9 10.8 1.1'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.7rem center;
	background-size: 12px 8px;
	border: 1px solid #c6c6c6;
	border-radius: 4px;
	box-sizing: border-box;
}

.mate-footer {
	background: #121212;
	color: #fff;
	padding: 2rem 1.25rem;
	text-align: center;
	font-size: 0.95rem;
}

.mate-footer a {
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.mate-promo,
.mate-prize-wrap,
.mate-bucket,
.mate-sponsor-tier {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	box-sizing: border-box;
}

.mate-promo {
	padding: 2.5rem 1.25rem;
}

.mate-promo-stage {
	position: relative;
	max-width: 1100px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.mate-promo-img {
	width: 100%;
	max-height: 420px;
	object-fit: contain;
	display: block;
}

.mate-promo-btn {
	display: inline-block;
	margin-top: 1.1rem;
	padding: 0.85rem 1.6rem;
	font-weight: 800;
	text-decoration: none !important;
	border-radius: 0;
}

.mate-prize-wrap {
	padding: 1.5rem 1.25rem 2rem;
}

.mate-prize {
	color: #fff;
	padding: 40px 20px;
	text-align: center;
	border-radius: 16px;
	margin: 0 auto;
	max-width: 1200px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
	box-sizing: border-box;
}

.mate-prize-heading {
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	font-size: clamp(1.45rem, 3.6vw, 3em);
	margin: 0 0 25px;
	text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.6);
	line-height: 1.2;
}

.mate-prize-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 30px;
	margin-bottom: 30px;
}

.mate-prize-row-sm {
	gap: 20px;
	margin-bottom: 35px;
}

.mate-prize-frame {
	background: #fff;
	border-style: solid;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.5);
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	box-sizing: border-box;
	max-width: 100%;
}

.mate-prize-frame img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	display: block;
}

.mate-prize-copy {
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	font-size: clamp(1.05rem, 2.2vw, 1.6em);
	margin: 0 0 25px;
	line-height: 1.4;
}

.mate-prize-copy-sub {
	font-size: clamp(1rem, 2vw, 1.5em);
	margin: 0 0 30px;
}

.mate-prize-copy strong {
	font-weight: 800;
}

.mate-prize-btn {
	background: #daa520;
	color: #003366;
	font-size: clamp(1.05rem, 2.4vw, 1.8em);
	font-weight: 800;
	padding: 20px 50px;
	border-radius: 50px;
	text-decoration: none !important;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.5);
	display: inline-block;
}

.mate-bucket {
	padding: 2.5rem 1.25rem 3rem;
	color: #fff;
	text-align: center;
}

.mate-bucket-img {
	display: block;
	margin: 0 auto 1.5rem;
	max-width: min(900px, 100%);
	height: auto;
}

.mate-bucket-heading {
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	font-size: clamp(1.8rem, 3vw, 2.6rem);
	margin: 0 0 1rem;
}

.mate-bucket-copy {
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	font-size: 1.15rem;
	font-weight: 400;
	max-width: 46rem;
	margin: 0 auto 0.85rem;
	line-height: 1.5;
}

.mate-sponsor-tier {
	padding: 1.75rem 1.25rem 2.5rem;
	background: #000;
}

.mate-sponsor-banner {
	display: block;
	width: min(100%, 1100px);
	height: auto;
	margin: 0 auto 1.5rem;
}

.mate-sponsor-name {
	text-align: center;
	margin: 0 0 1.25rem;
}

.mate-sponsor-grid {
	display: grid;
	gap: 1.5rem 1.25rem;
	max-width: 1100px;
	margin: 0 auto;
	align-items: start;
	justify-items: center;
}

.mate-sponsor-item {
	text-align: center;
	width: 100%;
}

.mate-sponsor-item img {
	display: block;
	margin: 0 auto 0.45rem;
	width: auto;
	height: auto;
	object-fit: contain;
}

.mate-sponsor-label {
	font-size: 0.92rem;
	color: #fff;
}

.mate-sponsor-name {
	color: #fff !important;
}

/* Prize showcase page — keep flex-wrap layout from the live Shopify page */
.mate-prizes-page {
	max-width: 1200px;
	margin: 0 auto;
	padding: 20px;
	color: #333;
	text-align: center;
	background: #faf0e6;
	box-sizing: border-box;
}

.mate-prizes-hero {
	color: #228b22 !important;
	-webkit-text-fill-color: #228b22 !important;
	font-size: 3.5em;
	margin-bottom: 10px;
	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
}

.mate-prizes-intro {
	font-size: 1.5em;
	color: #003366;
	margin-bottom: 40px;
}

.mate-prizes-h2 {
	margin: 50px 0 30px;
}

.mate-prizes-h2-star {
	color: #228b22 !important;
	-webkit-text-fill-color: #228b22 !important;
	font-size: 3em;
	border-bottom: 4px solid #daa520;
	padding-bottom: 10px;
}

.mate-prizes-h2-tools {
	color: #003366 !important;
	-webkit-text-fill-color: #003366 !important;
	font-size: 2.5em;
	margin: 60px 0 30px;
}

.mate-prizes-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 30px;
}

.mate-prizes-card {
	flex: 1 1 300px;
	background: #ffffff;
	border: 3px solid #228b22;
	border-radius: 12px;
	padding: 20px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	box-sizing: border-box;
}

.mate-prizes-card.is-featured {
	flex: 1 1 400px;
	border-width: 4px;
	border-radius: 16px;
	padding: 30px;
	box-shadow: 0 8px 20px rgba(0, 100, 0, 0.2);
}

.mate-prizes-card h3 {
	color: #228b22 !important;
	-webkit-text-fill-color: #228b22 !important;
	margin: 0;
}

.mate-prizes-card.is-featured h3 {
	color: #daa520 !important;
	-webkit-text-fill-color: #daa520 !important;
	font-size: 2.2em;
}

.mate-prizes-card img {
	max-width: 240px;
	width: 100%;
	height: auto;
	border-radius: 8px;
	margin: 15px 0;
}

.mate-prizes-card.is-featured img {
	max-width: 480px;
	border-radius: 12px;
	margin: 20px 0;
	border: 2px solid #228b22;
}

.mate-prizes-card p {
	font-size: 1em;
}

.mate-prizes-card.is-featured p {
	font-size: 1.3em;
}

.mate-prizes-gift-intro {
	font-size: 1.4em;
	margin-bottom: 30px;
	color: #228b22;
}

.mate-prizes-gifts {
	list-style: none;
	padding: 0;
	font-size: 1.4em;
	line-height: 2;
	color: #333;
	text-align: center;
}

.mate-prizes-gifts li {
	margin: 0 0 0.35em;
}

.mate-prizes-gifts small {
	display: inline;
	font-size: 0.75em;
}

.mate-prizes-raffle {
	background: #ffffff;
	border: 6px solid #228b22;
	border-radius: 20px;
	padding: 0;
	margin: 40px auto;
	max-width: 950px;
	overflow: hidden;
	box-shadow: 0 10px 30px rgba(34, 139, 34, 0.3);
}

.mate-prizes-raffle-bar {
	background: linear-gradient(135deg, #228b22, #003366);
	color: #fff;
	padding: 20px;
	text-align: center;
}

.mate-prizes-raffle-bar h3 {
	font-size: 2.4em;
	margin: 0;
	text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.5);
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}

.mate-prizes-raffle-body {
	padding: 30px;
	text-align: center;
}

.mate-prizes-raffle-body p {
	font-size: 1.4em;
	line-height: 1.6;
	color: #333;
	margin-bottom: 25px;
}

.mate-prizes-raffle-callout {
	background: #f0fff0;
	padding: 20px;
	border-radius: 12px;
	margin-top: 20px;
	border: 3px solid #228b22;
}

.mate-prizes-raffle-callout p {
	font-size: 1.8em;
	color: #003366;
	margin: 0;
	font-weight: bold;
}

.mate-prizes-more {
	margin-top: 60px;
	padding: 40px;
	background: #ffffff;
	border: 4px dashed #228b22;
	border-radius: 16px;
}

.mate-prizes-more h2 {
	color: #daa520 !important;
	-webkit-text-fill-color: #daa520 !important;
	font-size: 2.5em;
	margin: 0 0 0.4em;
}

.mate-prizes-more p {
	font-size: 1.4em;
	color: #003366;
	margin: 0;
}

.mate-prizes-footer {
	margin-top: 50px;
	font-size: 1.3em;
	font-style: italic;
	color: #228b22;
}

@media screen and (max-width: 900px) {
	.mate-topbar { flex-wrap: wrap; }
	.mate-nav-toggle { display: inline-flex; margin-left: auto; order: 2; }
	.mate-nav-tools { order: 3; }
	.mate-nav-panel {
		display: none;
		flex-basis: 100%;
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		gap: 0;
		order: 5;
		padding: 0.35rem 0 0.6rem;
		border-top: 1px solid rgba(255, 255, 255, 0.25);
	}
	.mate-topbar.is-nav-open .mate-nav-panel { display: flex; }
	.mate-nav-panel a {
		padding: 0.7rem 0.15rem;
		border-bottom: 1px solid rgba(255, 255, 255, 0.12);
	}
	.mate-nav-util {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		margin: 0;
		padding: 0;
		border: 0;
		font-weight: 800;
	}
	.mate-nav-tools { margin-left: 0; }
}

@media screen and (max-width: 749px) {
	.mate-brand img {
		height: 72px;
		width: 72px;
	}

	.mate-brand span {
		font-size: 1.84rem;
	}

	.mate-nav-panel {
		font-size: 1rem;
	}

	.mate-nav-search-form {
		right: auto;
		left: 0;
	}

	.mate-hero,
	.mate-hero img {
		max-height: 360px;
		height: 360px;
	}

	.mate-hero-title {
		bottom: 0.55in;
		font-size: 1.55rem;
	}

	.mate-hero-box {
		min-height: 10rem;
		padding: 1.2rem 1rem;
	}

	.mate-prize {
		padding: 28px 14px;
		border-radius: 12px;
	}

	.mate-prize-btn {
		padding: 14px 22px;
	}
}

/* Vendors — layout from the live Shopify page */
.mate-vendors-page {
	display: flex;
	align-items: flex-start;
	gap: 1.5rem 1.75rem;
	max-width: 1480px;
	margin: 0 auto;
	padding: 0 1.25rem 3rem;
	line-height: 1.65;
	color: #222;
	font-size: 1.1rem;
}
.mate-vendors-main { flex: 1 1 auto; min-width: 0; }
.mate-vendor-index {
	flex: 0 0 210px;
	position: sticky;
	top: 0.75rem;
	max-height: calc(100vh - 1.25rem);
	overflow-y: auto;
	background: #f3f3f3;
	border: 1px solid #ddd;
	border-radius: 8px;
	padding: 0.85rem 0.9rem 1rem;
}
.mate-vendor-index h2 {
	margin: 0 0 0.55rem;
	font-size: 0.95rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #00825a;
}
.mate-vendor-index ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.mate-vendor-index a {
	display: block;
	padding: 0.28rem 0.35rem;
	color: #121212;
	text-decoration: none;
	font-size: 0.9rem;
	border-radius: 4px;
	line-height: 1.3;
}
.mate-vendor-index a:hover,
.mate-vendor-index a:focus {
	background: #00825a;
	color: #fff;
}
.mate-vendors-page h1 {
	font-size: 2.8rem;
	text-align: center;
	margin: 2.5rem 0 1rem;
}
.mate-vendors-page h3.intro {
	font-size: 1.8rem;
	text-align: center;
	margin: 0 auto 3.5rem;
	max-width: 900px;
}
.mate-vendors-page .vendor-section {
	margin-bottom: 4.5rem;
	border: 1px solid #ddd;
	border-radius: 8px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
	scroll-margin-top: 1rem;
}
.mate-vendors-page .vendor-header {
	background-color: #00825a;
	color: #fff;
	padding: 1.8rem;
	text-align: center;
}
.mate-vendors-page .vendor-header h2 {
	margin: 0;
	font-size: 2.5rem;
	color: #fff !important;
}
.mate-vendors-page .vendor-header h2 a {
	color: #fff !important;
	text-decoration: none;
}
.mate-vendors-page .vendor-main { padding: 1.8rem 1.8rem 1rem; }
.mate-vendors-page .flex-gallery-main {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1.4rem;
	margin: 1.2rem 0;
}
.mate-vendors-page .flex-gallery-main .flex-item {
	flex: 0 1 240px;
	max-width: 240px;
	text-align: center;
}
.mate-vendors-page .flex-gallery-main img {
	width: 240px;
	max-width: 100%;
	height: auto;
}
.mate-vendors-page .product-thumbs-container {
	background-color: #333;
	margin: 1.5rem -1.8rem 1.8rem;
	padding: 1.4rem 1.8rem;
}
.mate-vendors-page .product-thumbs {
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	gap: 0.7rem;
	align-items: center;
}
.mate-vendors-page .product-thumbs .flex-item {
	flex: 0 0 160px;
	max-width: 160px;
}
.mate-vendors-page .product-thumbs img {
	width: 160px;
	height: 160px;
	object-fit: cover;
	border-radius: 5px;
}
.mate-vendors-page .social-name-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 1.5rem;
	margin: 1rem 0 1.2rem;
	padding: 0.8rem 0;
	border-top: 1px solid #eee;
	border-bottom: 1px solid #eee;
}
.mate-vendors-page .vendor-name { font-size: 1.7rem; font-weight: bold; margin: 0; flex: 1 1 auto; text-align: center; }
.mate-vendors-page .social-links { display: flex; align-items: center; justify-content: center; gap: 1.1rem; flex: 1 1 auto; }
.mate-vendors-page .social-links img { width: 38px; height: 38px; }
.mate-vendors-page .bio {
	background-color: #00aeef;
	color: #000;
	text-align: center;
	font-size: 1.3rem;
	font-weight: bold;
	padding: 2.2rem 2.8rem;
}
@media (max-width: 900px) {
	.mate-vendors-page,
	.mate-demos-page { flex-direction: column; }
	.mate-vendor-index {
		position: static;
		flex: 1 1 auto;
		width: 100%;
		max-height: none;
	}
	.mate-vendor-index ul {
		display: flex;
		flex-wrap: wrap;
		gap: 0.15rem 0.35rem;
	}
	.mate-vendor-index a { padding: 0.3rem 0.5rem; }
}
@media (max-width: 768px) {
	.mate-vendors-page .social-name-row { flex-direction: column; }
}

/* Demonstrators */
.mate-demos-page {
	display: flex;
	align-items: flex-start;
	gap: 1.5rem 1.75rem;
	max-width: 1480px;
	margin: 0 auto;
	padding: 0 1.25rem 3rem;
}
.mate-demos-main { flex: 1 1 auto; min-width: 0; }
.mate-demos-page h1 { text-align: center; }
.mate-demos-page h3.intro {
	font-size: 1.8rem;
	text-align: center;
	margin: 0 auto 3rem;
	max-width: 900px;
}
.mate-demos-page .demonstrator-card {
	margin-bottom: 60px;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
	background-color: #1a1a1a;
}
.mate-demos-page .header {
	background-color: #00825a !important;
	color: #fff !important;
	padding: 15px 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 80px;
}
.mate-demos-page .header h1 {
	color: #fff !important;
	margin: 0;
	font-size: clamp(1.8em, 5vw, 2.6em);
	text-align: center;
	width: 100%;
}
.mate-demos-page .profile-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	background-color: #dadada;
	padding: 20px;
	gap: 20px;
}
.mate-demos-page .profile-row > div {
	flex: 1 1 300px;
	text-align: center;
	max-width: 260px;
}
.mate-demos-page .profile-img {
	max-width: 240px;
	max-height: 240px;
	width: 100%;
	height: auto;
	object-fit: contain;
	border-radius: 8px;
	display: block;
	margin: 0 auto;
}
.mate-demos-page .social-row { background: #fff; text-align: center; padding: 15px; }
.mate-demos-page .social-row a { margin: 0 10px; display: inline-block; }
.mate-demos-page .social-row img { width: 32px; height: 32px; }
.mate-demos-page .demonstrator-card {
	scroll-margin-top: 1.5rem;
}
.mate-demos-page .gallery-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	background-color: #dadada;
	padding: 15px;
}
.mate-demos-page .gallery-row .flex-item {
	flex: 0 1 calc((100% - 48px) / 5);
	max-width: 180px;
}
.mate-demos-page .gallery-row a.mate-zoom {
	display: block;
	line-height: 0;
}
.mate-demos-page .gallery-row img {
	width: 100%;
	aspect-ratio: 1 / 1;
	height: auto;
	object-fit: cover;
	border-radius: 6px;
	cursor: zoom-in;
}
.mate-demos-page .bio-section {
	background: #000 !important;
	color: #fff !important;
	padding: 25px;
	font-size: 1.1em;
	line-height: 1.5;
}
.mate-demos-page .bio-section * { color: #fff !important; }
.mate-demos-page .demo-section { background: #00aeef; color: #000; padding: 25px; }
.mate-demos-page .demo-section h2 { margin-top: 0; color: #fff; }
@media (max-width: 768px) {
	.mate-demos-page .gallery-row .flex-item {
		flex: 0 1 calc((100% - 12px) / 2);
		max-width: none;
	}
}

.mate-lightbox {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 10000;
	background: rgba(0, 0, 0, 0.85);
	align-items: center;
	justify-content: center;
	padding: 1.5rem;
	cursor: zoom-out;
}
.mate-lightbox.is-open { display: flex; }
.mate-lightbox img {
	max-width: 96vw;
	max-height: 96vh;
	width: auto;
	height: auto;
	object-fit: contain;
	border-radius: 8px;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5);
}

.mate-schedule-page a.mate-demo-link {
	color: #0066cc !important;
	text-decoration: underline;
	text-underline-offset: 2px;
	font-weight: 700;
}

.mate-schedule-grids {
	margin: 1.5rem 0 2.25rem;
}
.mate-grid-controls {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 1rem;
}
.mate-grid-controls .toggle-btn.is-current {
	background: #0066cc;
	color: #fff;
	border-color: #0066cc;
}
.mate-grid-download {
	background: #00825a !important;
	color: #fff !important;
	border-color: #00825a !important;
	text-decoration: none !important;
	cursor: pointer;
}
.mate-grid-stage {
	overflow-x: auto;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 8px;
	padding: 0.65rem 0.65rem 0.9rem;
}
.mate-grid-slide { display: none; }
.mate-grid-slide.is-current { display: block; }
.mate-day-grid-banner {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
	padding: 0.45rem 5.5rem 0.75rem 0.2rem;
	color: #555;
	font-size: 1.15rem;
	font-weight: 700;
}
.mate-day-grid-banner span,
.mate-day-grid-banner strong {
	white-space: nowrap;
}
.mate-day-grid-banner span { flex-shrink: 0; }
.mate-day-grid-banner strong { color: #333; }
.mate-day-grid {
	display: grid;
	grid-template-columns: 4.5rem repeat(4, minmax(0, 1fr)) 4.5rem;
	gap: 2px;
	background: #bfbfbf;
	min-width: 760px;
	font-size: 0.78rem;
}
.mate-day-h {
	color: #fff;
	font-weight: 800;
	text-align: center;
	padding: 0.55rem 0.3rem;
	line-height: 1.2;
}
.mate-day-h.time { background: #6e6e6e; }
.mate-day-h.col-0 { background: #3d7a1f; }
.mate-day-h.col-1 { background: #c9a116; }
.mate-day-h.col-2 { background: #d45f16; }
.mate-day-h.col-3 { background: #168f88; }
.mate-day-time {
	background: #e8e8e8;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 0.72rem;
}
.mate-day-empty.col-0 { background: #e4f3d6; }
.mate-day-empty.col-1 { background: #fbeec0; }
.mate-day-empty.col-2 { background: #f8dcc4; }
.mate-day-empty.col-3 { background: #d4efed; }
.mate-day-event {
	z-index: 2;
	padding: 0.3rem 0.4rem;
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	overflow: hidden;
	color: #1a1a1a;
}
.mate-day-event.col-0 { background: #b7d99a; }
.mate-day-event.col-1 { background: #f0d56a; }
.mate-day-event.col-2 { background: #f0b07a; }
.mate-day-event.col-3 { background: #8fd4cf; }
.mate-day-event.kind-vip { background: #8ec27a; }
.mate-day-event.kind-lunch,
.mate-day-event.kind-banner {
	background: #5b9bd5;
	color: #fff;
}
.mate-day-event-title { font-weight: 800; line-height: 1.2; }
.mate-day-event-who {
	margin-top: 0.15rem;
	font-weight: 600;
	white-space: nowrap;
}
.mate-day-event-who a { color: inherit !important; }
.mate-day-event-note { margin-top: 0.15rem; font-size: 0.86em; line-height: 1.25; opacity: 0.92; }
.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}

/* Schedule */
.mate-schedule-page .expo-header {
	background: #0066cc;
	color: #fff;
	text-align: center;
	padding: 2.5rem 1rem;
	border-radius: 8px;
	margin: 1rem 0 1.5rem;
}
.mate-schedule-page .expo-header h1 { margin: 0; font-size: 2.8rem; color: #fff !important; }
.mate-schedule-page .expo-header p { margin: 0.8rem 0 0; font-size: 1.3rem; color: #fff; }
.mate-schedule-page .tentative-banner {
	background: #fff8c4;
	color: #856404;
	text-align: center;
	padding: 1rem;
	margin: 1rem 0 2rem;
	border-radius: 8px;
	border: 1px solid #ffeeba;
	font-size: 1.1rem;
}
.mate-schedule-page input[type="radio"] { display: none; }
.mate-schedule-page .toggle-container {
	display: flex;
	justify-content: center;
	gap: 1rem;
	margin: 1.5rem 0;
	flex-wrap: wrap;
}
.mate-schedule-page .toggle-btn {
	padding: 12px 28px;
	background: #f5f5f5;
	border: 1px solid #ccc;
	border-radius: 8px;
	cursor: pointer;
	font-weight: bold;
}
.mate-schedule-page #view-day:checked ~ .toggle-container label[for="view-day"],
.mate-schedule-page #view-room:checked ~ .toggle-container label[for="view-room"] {
	background: #0066cc;
	color: #fff;
	border-color: #0066cc;
}
.mate-schedule-page .view-content { display: none; }
.mate-schedule-page #view-day:checked ~ #day-view,
.mate-schedule-page #view-room:checked ~ #room-view { display: block; }
.mate-schedule-page .table-wrapper { overflow-x: auto; margin: 1rem 0; }
.mate-schedule-page .responsive-table { width: 100%; border-collapse: collapse; border: 1px solid #ddd; }
.mate-schedule-page th, .mate-schedule-page td { border: 1px solid #ddd; padding: 12px; text-align: left; }
.mate-schedule-page th { background: #e8f0fe; }
.mate-schedule-page .day-header td,
.mate-schedule-page .room-header td {
	background: #e0e0e0 !important;
	font-weight: bold;
	text-align: center;
	font-size: 1.15em;
}
.mate-schedule-page .vip { background: #fff0f0 !important; }
@media (max-width: 768px) {
	.mate-schedule-page .responsive-table,
	.mate-schedule-page .responsive-table thead,
	.mate-schedule-page .responsive-table tbody,
	.mate-schedule-page .responsive-table th,
	.mate-schedule-page .responsive-table td,
	.mate-schedule-page .responsive-table tr { display: block; }
	.mate-schedule-page .responsive-table thead tr { position: absolute; top: -9999px; left: -9999px; }
	.mate-schedule-page .responsive-table tr {
		margin: 1.2rem 0;
		border: 1px solid #ccc;
		border-radius: 10px;
		background: #fff;
	}
	.mate-schedule-page .responsive-table td {
		border: none;
		border-bottom: 1px solid #eee;
		padding: 16px 16px 16px 48%;
		position: relative;
	}
	.mate-schedule-page .responsive-table td:before {
		position: absolute;
		top: 16px;
		left: 16px;
		width: 40%;
		font-weight: bold;
		content: attr(data-label);
	}
}

/* Venue / contact / catalog intro */
.mate-venue-page { text-align: center; }
.mate-venue-page .mate-venue-hero { display: block; margin: 0 auto; max-width: 480px; width: 100%; height: auto; }
.mate-venue-table { width: 100%; }
.mate-venue-table td { text-align: center; vertical-align: middle; padding: 0.5rem; }
.mate-contact-page {
	text-align: center;
	max-width: 36rem;
	margin: 0 auto;
	padding: 1rem 1.25rem 2rem;
}
.mate-contact-form {
	margin: 1.25rem auto 0;
	max-width: 32rem;
	text-align: left;
}
.mate-contact-form label { display: block; margin-bottom: 0.75rem; }
.mate-contact-form input,
.mate-contact-form textarea { width: 100%; max-width: 100%; padding: 0.5rem; box-sizing: border-box; }
.mate-contact-submit { text-align: center; margin-top: 1.25rem; }
.mate-contact-send {
	font-size: 200%;
	font-weight: 800;
	padding: 0.7em 1.4em;
	line-height: 1.1;
	cursor: pointer;
}
.mate-contact-thanks { color: #00825a; font-weight: 700; }
.mate-catalog-intro { text-align: center; margin: 0 auto 2rem; max-width: 50rem; }
.mate-catalog-intro img { max-width: 320px; height: auto; }
body.term-hands-on-woodturning-classes-mid-atlantic-turners-expo .wp-block-post-title,
body.term-hands-on-woodturning-classes-mid-atlantic-turners-expo .woocommerce-products-header__title,
body.term-event-and-lunch-tickets .wp-block-post-title,
body.term-event-and-lunch-tickets .woocommerce-products-header__title {
	display: none !important;
}

.mate-hide-wp-title .wp-block-post-title,
.mate-hide-wp-title .entry-title,
.mate-hide-wp-title h1.wp-block-post-title {
	display: none !important;
}

.mate-sponsor-item img {
	max-width: min(100%, var(--mate-sponsor-size, 160px));
	max-height: var(--mate-sponsor-size, 160px);
}
.mate-sponsor-cta {
	background: #000;
	text-align: center;
	padding: 1.25rem 1rem 2.5rem;
}
.mate-sponsor-cta img {
	display: block;
	width: min(100%, 920px);
	height: auto;
	margin: 0 auto;
}

.mate-venue-page img,
.mate-venue-photo {
	max-width: 100%;
	height: auto;
}

/* Same URLs on every device. Layout changes with width, not a second site. */
@media (max-width: 900px) {
	.mate-home,
	.mate-prizes-page,
	.mate-vendors-page,
	.mate-demos-page,
	.mate-schedule-page,
	.mate-venue-page,
	.mate-contact-page {
		overflow-wrap: anywhere;
		word-break: break-word;
	}
	.mate-hero-title,
	.mate-hero-box,
	.mate-hero-box p,
	.mate-prize-heading,
	.mate-prizes-hero,
	.mate-prizes-h2,
	.mate-prizes-h2-star,
	.mate-prizes-h2-tools,
	.mate-prizes-more h2,
	.mate-vendors-page h1,
	.mate-demos-page h1,
	.mate-schedule-page .expo-header h1 {
		max-width: 100%;
		overflow-wrap: anywhere;
		word-break: break-word;
		hyphens: auto;
		white-space: normal;
	}
	.mate-prizes-hero {
		font-size: clamp(1.35rem, 7.2vw, 2.4rem);
		line-height: 1.15;
	}
	.mate-prizes-h2-star { font-size: clamp(1.25rem, 6vw, 2rem); }
	.mate-prizes-h2-tools,
	.mate-prizes-more h2 { font-size: clamp(1.2rem, 5.5vw, 1.8rem); }
	.mate-prizes-intro { font-size: 1.05rem; }
	.mate-vendors-page h1,
	.mate-demos-page h1 { font-size: clamp(1.35rem, 6.5vw, 2.2rem); }
	.mate-demos-page h3.intro,
	.mate-vendors-page h3.intro { font-size: 1.05rem; padding: 0 0.25rem; }
	.mate-schedule-page .expo-header h1 { font-size: clamp(1.35rem, 6.5vw, 2.1rem); }
	.mate-schedule-page .expo-header { padding: 1.25rem 0.85rem; }
	.mate-hero-title { font-size: clamp(1.15rem, 6vw, 1.55rem); left: 0.6rem; right: 0.6rem; width: auto; }
	.mate-hero-box { padding: 1rem 0.85rem; }
	.mate-prize-frame { width: min(100%, 280px) !important; height: auto !important; aspect-ratio: 1 / 1; }
	.mate-sponsor-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 1rem 0.75rem;
		padding: 0 0.5rem;
	}
	.mate-sponsor-item img {
		max-width: 100% !important;
		max-height: 110px !important;
	}
	.mate-vendor-index ul {
		display: grid !important;
		grid-template-columns: 1fr;
		gap: 0;
	}
	.mate-demo-index ul {
		grid-template-columns: 1fr 1fr !important;
	}
	.mate-vendor-index a {
		padding: 0.45rem 0.35rem;
		border-bottom: 1px solid #e5e5e5;
	}
	.mate-vendors-page .vendor-main { padding: 1rem 0.85rem 0.75rem; }
	.mate-vendors-page .product-thumbs-container {
		margin-left: -0.85rem;
		margin-right: -0.85rem;
		padding: 0.85rem;
	}
	.mate-vendors-page .flex-gallery-main,
	.mate-vendors-page .product-thumbs {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.55rem;
		flex-wrap: unset;
	}
	.mate-vendors-page .flex-gallery-main .flex-item,
	.mate-vendors-page .product-thumbs .flex-item {
		flex: none;
		max-width: none;
		width: 100%;
	}
	.mate-vendors-page .flex-gallery-main img,
	.mate-vendors-page .product-thumbs img {
		width: 100%;
		height: auto;
		aspect-ratio: 1 / 1;
		object-fit: cover;
	}
	.mate-venue-table,
	.mate-venue-table tbody,
	.mate-venue-table tr,
	.mate-venue-table td {
		display: block;
		width: 100%;
		box-sizing: border-box;
	}
	.mate-venue-table td { padding: 0.65rem 0; }
	.mate-day-grid {
		min-width: 0;
		width: 100%;
		grid-template-columns: 2.6rem repeat(4, minmax(0, 1fr)) 2.6rem;
		font-size: 0.58rem;
	}
	.mate-day-grid-banner {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.2rem;
		padding: 0.35rem 0.2rem 0.55rem;
		font-size: 0.95rem;
	}
	.mate-day-grid-banner span,
	.mate-day-grid-banner strong { white-space: normal; }
	.mate-day-event-who { white-space: normal; }
	.mate-day-h,
	.mate-day-time { padding: 0.35rem 0.15rem; font-size: 0.62rem; }
	.mate-contact-send { font-size: 1.15rem; }
}

@media (max-width: 520px) {
	.mate-day-grid { font-size: 0.52rem; }
}

.mate-footer {
	background: var(--mate-green);
	color: #fff;
	padding: 2.2rem 1.25rem 1.4rem;
	text-align: left;
	font-size: 0.95rem;
}
.mate-footer-inner {
	max-width: var(--mate-page-width);
	margin: 0 auto;
}
.mate-footer-top {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(140px, 200px);
	gap: 1.5rem 2rem;
	align-items: center;
}
.mate-footer-mission h2,
.mate-footer-news h2 {
	margin: 0 0 0.65rem;
	font-size: 1.15rem;
	color: #fff !important;
}
.mate-footer-mission p {
	margin: 0;
	line-height: 1.55;
	color: #fff;
}
.mate-footer-logo { text-align: center; }
.mate-footer-logo img {
	width: min(100%, 200px);
	height: auto;
	display: inline-block;
}
.mate-footer-mid {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem;
	margin-top: 1.75rem;
}
.mate-footer-news-form {
	display: flex;
	max-width: 360px;
	border-bottom: 1px solid rgba(255,255,255,.55);
}
.mate-footer-news-form input {
	flex: 1;
	background: transparent;
	border: 0;
	color: #fff;
	padding: 0.55rem 0;
	font: inherit;
}
.mate-footer-news-form input::placeholder { color: rgba(255,255,255,.75); }
.mate-footer-news-form button {
	background: transparent;
	border: 0;
	color: #fff;
	font-size: 1.2rem;
	cursor: pointer;
	padding: 0.45rem 0.2rem 0.45rem 0.6rem;
}
.mate-footer-social {
	list-style: none;
	display: flex;
	gap: 0.75rem;
	margin: 0;
	padding: 0;
}
.mate-footer-social a {
	display: inline-flex;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}
.mate-footer-copy {
	margin-top: 1.75rem;
	text-align: center;
	font-size: 0.85rem;
}
.mate-footer-copy a { color: #fff !important; }
.mate-footer-powered { display: block; margin-top: 0.35rem; opacity: 0.9; }

.mate-sponsor-label { display: none !important; }
.mate-sponsor-cta {
	background: #fff;
	text-align: left;
	padding: 2.25rem 1.25rem 2.75rem;
}
.mate-sponsor-cta-inner {
	max-width: var(--mate-page-width);
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 1.5rem 2rem;
	align-items: center;
}
.mate-sponsor-cta-media img {
	display: block;
	width: min(100%, 520px);
	height: auto;
	margin: 0;
}
.mate-sponsor-cta-copy {
	text-align: center;
}
.mate-sponsor-cta-copy p {
	margin: 0 0 1rem;
	font-size: 1.15rem;
	line-height: 1.5;
	color: #121212;
}
.mate-sponsor-cta-btn {
	display: inline-block;
	background: var(--mate-green);
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	padding: 0.7rem 1.25rem;
	border-radius: 4px;
	font-weight: 700;
	text-decoration: none !important;
}
.mate-sponsor-cta-btn:hover { background: var(--mate-green-dark); }

.mate-day-event.kind-paid {
	outline: 3px solid #9b1c1c;
	box-shadow: inset 0 0 0 1px rgba(155,28,28,.35);
}
.mate-day-event.kind-paid .mate-day-event-title { font-weight: 800; }
.mate-paid-mark {
	display: inline-block;
	margin-left: 0.2rem;
	font-weight: 800;
	color: #9b1c1c;
	white-space: nowrap;
	letter-spacing: 0.02em;
}
.mate-schedule-page tr.paid { background: #fff6e8 !important; }
.mate-schedule-page a.mate-class-link {
	color: inherit !important;
	text-decoration: underline;
	text-underline-offset: 2px;
}
.mate-day-event a.mate-class-link { color: inherit !important; }

.mate-back-top {
	text-align: right;
	margin: 0.75rem 1.1rem 1.1rem;
	font-size: 0.92rem;
}
.mate-back-top a { font-weight: 700; }

.mate-embroidery-note,
.mate-embroidery-cost,
.mate-early-bird-note {
	display: block;
	font-size: 0.88rem;
	margin-top: 0.35rem;
}
.mate-early-bird-note {
	background: #fff8c4;
	border: 1px solid #ffeeba;
	color: #856404;
	padding: 0.65rem 0.8rem;
	border-radius: 6px;
	margin: 0.75rem 0 1rem;
}

.mate-splash {
	position: fixed;
	inset: 0;
	z-index: 2147483000;
	pointer-events: auto;
}
.mate-splash-shade {
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,.78);
}
.mate-splash-fg {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
	pointer-events: none;
}
.mate-splash-fg img {
	max-width: min(92vw, 1100px);
	max-height: 92vh;
	width: auto;
	height: auto;
	object-fit: contain;
	box-shadow: 0 12px 40px rgba(0,0,0,.45);
}
.mate-splash-mobile { display: none; }
body.mate-splash-on { overflow: hidden; }

@media (max-width: 750px) {
	.mate-footer-top,
	.mate-sponsor-cta-inner {
		grid-template-columns: 1fr;
		text-align: center;
	}
	.mate-sponsor-cta-media img { margin: 0 auto; }
	.mate-splash-desktop { display: none; }
	.mate-splash-mobile { display: block; }
}
