/* Manchaug First — details theme.json can't express.
   Values sampled from the live Squarespace site (notes/design-tokens.md). */

/* Live site renders headings at weight 100 even where the copy is <strong> —
   acumin-pro only loads Thin there. Match that, and keep heading links clean. */
h1 strong, h2 strong, h3 strong, h4 strong, h5 strong, h6 strong { font-weight: inherit; }
h1 a, h2 a, h3 a, h4 a { text-decoration: none; }

/* ---------- Header ---------- */
.site-header .wp-block-site-title { margin: 0; }
.site-header .wp-block-site-title a { text-decoration: none; }

/* Home: title overlays the hero photo (Squarespace transparent header) */
body.home .site-header--overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 10;
	background: transparent;
}

/* ---------- Hero ---------- */
.hero-cover { min-height: 520px; }
.hero-cover .wp-block-heading { color: #fff; }
.hero-cover h1 { margin-bottom: 0; }
.hero-cover h2 { margin-top: 0.2em; }

/* ---------- Event feature cards (home) ---------- */
.event-feature .event-feature__date { margin-top: 0; }
.event-passed {
	font-style: italic;
	font-size: 0.875rem;
	letter-spacing: 0.02em;
	opacity: 0.75;
}

/* ---------- History blockquote ---------- */
.history-quote {
	border: 0;
	margin-left: 0;
	padding-left: 1.5em;
}
.history-photo figcaption {
	font-size: 0.8125rem;
	text-align: center;
	opacity: 0.8;
}

/* ---------- Dark initiative banner + wave divider ----------
   The wave sits AFTER the cover in the markup and is pulled up over its
   bottom edge — no absolute positioning, so it can't drift with the
   cover's inner-container layout. */
.wave-divider {
	position: relative;
	z-index: 2;
	display: block;
	width: 100%;
	max-width: none;
	height: clamp(48px, 8vw, 110px);
	margin-top: calc(-1 * clamp(48px, 8vw, 110px));
	pointer-events: none;
}

/* ---------- "Make an impact" circled word ---------- */
.circle-word {
	position: relative;
	display: inline-block;
}
.circle-word::after {
	content: "";
	position: absolute;
	inset: -0.18em -0.35em -0.22em -0.35em;
	border: 2px solid var(--wp--preset--color--accent);
	border-radius: 50%;
	transform: rotate(-2deg);
}

/* ---------- Sponsor logo rows ---------- */
.sponsor-row img {
	max-height: 90px;
	width: auto;
	object-fit: contain;
}
.sponsor-row .wp-block-image { display: flex; align-items: center; justify-content: center; }

/* ---------- Contact form (static placeholder until WPForms in Phase 2) ---------- */
.contact-form label {
	display: block;
	margin: 1rem 0 0.35rem;
}
.contact-form label .req {
	font-size: 0.8em;
	opacity: 0.7;
	margin-left: 0.35em;
}
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form textarea {
	width: 100%;
	padding: 0.7em 0.8em;
	border: 1px solid rgba(0, 0, 0, 0.35);
	border-radius: 0;
	background: #fff;
	font: inherit;
}
.contact-form .name-row { display: flex; gap: 1rem; }
.contact-form .name-row > div { flex: 1; }
.contact-form button {
	margin-top: 1.4rem;
	background: var(--wp--preset--color--accent);
	color: #fff;
	border: 0;
	border-radius: 0;
	font-family: var(--wp--preset--font-family--body);
	font-weight: 500;
	font-size: 1rem;
	letter-spacing: 0.02em;
	padding: 1.1em 1.84em;
	cursor: pointer;
}
.contact-form button:hover { background: #8f705c; }

/* ---------- Formidable Forms (Phase 2) — match the Squarespace form look ---------- */
/* Formidable styles via CSS vars on .with_frm_style — override at the source. */
.with_frm_style {
	--font: var(--wp--preset--font-family--body);
	--font-size: 1rem;
	--label-color: var(--wp--preset--color--contrast);
	--label-weight: 300;
	--field-border-radius: 0px;
	--border-color: rgba(0, 0, 0, 0.35);
	--border-color-active: var(--wp--preset--color--accent);
	--field-border-width: 1px;
	--bg-color: #ffffff;
	--submit-bg-color: var(--wp--preset--color--accent);
	--submit-hover-bg-color: #8f705c;
	--submit-active-bg-color: #8f705c;
	--submit-text-color: #ffffff;
	--submit-hover-color: #ffffff;
	--submit-border-color: transparent;
	--submit-hover-border-color: transparent;
	--submit-border-radius: 0px;
	--submit-border-width: 0px;
	--submit-font-size: 1rem;
	--submit-weight: 500;
	--submit-padding: 1.1em 1.84em;
}
.frm_forms .frm_primary_label {
	font-family: var(--wp--preset--font-family--body);
	font-weight: 300;
	font-size: 1rem;
	color: var(--wp--preset--color--contrast);
	margin-bottom: 0.35rem;
}
.frm_forms .frm_required {
	color: #cc0000;
}
.frm_forms input[type="text"],
.frm_forms input[type="email"],
.frm_forms textarea {
	width: 100%;
	padding: 0.7em 0.8em;
	border: 1px solid rgba(0, 0, 0, 0.35);
	border-radius: 0;
	background: #fff;
	font: inherit;
	font-weight: 300;
	box-shadow: none;
}
.frm_forms textarea {
	min-height: 9em;
}
.frm_forms .frm_submit button,
.frm_forms button.frm_button_submit,
.with_frm_style .frm_submit button {
	font-family: var(--wp--preset--font-family--body) !important;
	font-weight: 500 !important;
	font-size: 1rem !important;
	letter-spacing: 0.02em;
	padding: 1.1em 1.84em !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: var(--wp--preset--color--accent) !important;
	color: #fff !important;
	cursor: pointer;
}
.frm_forms .frm_submit button:hover,
.frm_forms button.frm_button_submit:hover,
.with_frm_style .frm_submit button:hover {
	background: #8f705c !important;
}
.frm_forms .frm_error_style,
.frm_forms .frm_error {
	border-radius: 0;
}
.frm_forms .frm_message {
	border-radius: 0;
	background: var(--wp--preset--color--light);
	border: 0;
	padding: 1em 1.2em;
}

/* ---------- Event detail (faire) ---------- */
.event-detail .event-backlink {
	font-size: 0.875rem;
	text-decoration: none;
}
.event-meta p { margin: 0.15em 0; }
.event-meta { margin-bottom: 1.5rem; }

/* ---------- Gallery ---------- */
.faire-gallery figure { margin: 0; }

/* ---------- Footer ---------- */
.site-footer a { text-decoration: underline; }
.site-footer .wp-block-heading { margin-bottom: 0.6em; }

/* ---------- Small screens ---------- */
@media (max-width: 640px) {
	.contact-form .name-row { flex-direction: column; gap: 0; }
}
