/* ==========================================================================
   Hockey Access — supplemental styles
   Colors, type and spacing come from theme.json; this file adds block style
   variations, header behavior, icons and small interaction details.
   ========================================================================== */

:root {
	--ha-radius-s: var(--wp--custom--radius--small, 8px);
	--ha-radius-m: var(--wp--custom--radius--medium, 14px);
	--ha-radius-l: var(--wp--custom--radius--large, 22px);
	--ha-ease: cubic-bezier(.2,.7,.2,1);
}

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition: none !important; animation: none !important; }
}

body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 3px solid var(--wp--preset--color--gold);
	outline-offset: 3px;
	border-radius: 4px;
}

::selection { background: var(--wp--preset--color--gold); color: var(--wp--preset--color--contrast); }

/* ---------- Header ---------- */
/* Remove default gaps between top-level template areas. */
:where(.wp-site-blocks) > * { margin-block-start: 0; }

.wp-site-blocks > header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 50;
}
.admin-bar .wp-site-blocks > header.wp-block-template-part { top: 32px; }
@media (max-width: 782px) { .admin-bar .wp-site-blocks > header.wp-block-template-part { top: 46px; } }
@media (max-width: 600px) { .admin-bar .wp-site-blocks > header.wp-block-template-part { top: 0; } }

.ha-header {
	background: rgba(255,255,255,.94);
	backdrop-filter: saturate(1.4) blur(10px);
	-webkit-backdrop-filter: saturate(1.4) blur(10px);
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.ha-utility-bar a { color: inherit; text-underline-offset: 3px; }
.ha-utility-bar .wp-block-social-links { gap: .6rem; }

.ha-header .wp-block-navigation-item__content { padding: .35rem 0; position: relative; }
.ha-header .wp-block-navigation-item__content::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px;
	background: var(--wp--preset--color--accent);
	transform: scaleX(0); transform-origin: left; transition: transform .25s var(--ha-ease);
}
.ha-header .wp-block-navigation-item__content:hover::after,
.ha-header .current-menu-item > .wp-block-navigation-item__content::after { transform: scaleX(1); }
.ha-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content::after { display: none; }
.ha-header .wp-block-navigation__responsive-container.is-menu-open {
	padding: 1.5rem;
	font-size: 1.375rem;
}

@media (max-width: 900px) {
	.ha-header .ha-header-secondary-cta { display: none; }
}
@media (max-width: 480px) {
	.ha-header .wp-block-site-title { font-size: 1.25rem !important; }
	.ha-header .wp-block-button__link { padding: .55rem 1rem !important; font-size: 1rem !important; }
}

/* ---------- Buttons ---------- */
.wp-block-button__link { transition: background-color .2s, color .2s, border-color .2s, transform .2s var(--ha-ease), box-shadow .2s; }
.wp-block-button__link:hover { transform: translateY(-1px); }
.wp-block-button__link:active { transform: translateY(0); }

.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
	border-color: var(--wp--preset--color--primary);
}

.wp-block-button.is-style-navy > .wp-block-button__link {
	background: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
}
.wp-block-button.is-style-navy > .wp-block-button__link:hover {
	background: var(--wp--preset--color--contrast);
	border-color: var(--wp--preset--color--contrast);
}

.wp-block-button.is-style-light > .wp-block-button__link {
	background: var(--wp--preset--color--base);
	border-color: var(--wp--preset--color--base);
	color: var(--wp--preset--color--primary);
}
.wp-block-button.is-style-light > .wp-block-button__link:hover {
	background: var(--wp--preset--color--gold);
	border-color: var(--wp--preset--color--gold);
	color: var(--wp--preset--color--contrast);
}

.wp-block-button.is-style-ghost-light > .wp-block-button__link {
	background: transparent;
	border-color: rgba(255,255,255,.7);
	color: var(--wp--preset--color--base);
}
.wp-block-button.is-style-ghost-light > .wp-block-button__link:hover {
	background: var(--wp--preset--color--base);
	border-color: var(--wp--preset--color--base);
	color: var(--wp--preset--color--primary);
}

/* ---------- Eyebrow text ---------- */
.is-style-eyebrow {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	font-size: 1rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
	display: flex;
	align-items: center;
	gap: .6rem;
}
.is-style-eyebrow::before {
	content: ""; width: 1.75rem; height: 3px; border-radius: 3px;
	background: currentColor;
}
.has-text-align-center.is-style-eyebrow { display: flex; justify-content: center; }

/* ---------- Card & action tile ---------- */
.wp-block-group.is-style-card {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--ha-radius-m);
	box-shadow: var(--wp--preset--shadow--card);
	padding: clamp(1.25rem, 3vw, 2rem);
}

.wp-block-group.is-style-action-tile {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--ha-radius-m);
	box-shadow: var(--wp--preset--shadow--card);
	padding: clamp(1.5rem, 3vw, 2rem);
	overflow: hidden;
	transition: transform .25s var(--ha-ease), box-shadow .25s var(--ha-ease), border-color .25s;
}
.wp-block-group.is-style-action-tile::before {
	content: ""; position: absolute; inset: 0 0 auto 0; height: 5px;
	background: var(--ha-tile-color, var(--wp--preset--color--accent));
}
.wp-block-group.is-style-action-tile:hover {
	transform: translateY(-4px);
	box-shadow: var(--wp--preset--shadow--lift);
	border-color: transparent;
}
.wp-block-group.is-style-action-tile > .wp-block-buttons { margin-top: auto; padding-top: .5rem; }
.wp-block-group.is-style-action-tile .wp-block-button,
.wp-block-group.is-style-action-tile .wp-block-button__link { width: 100%; }

.ha-tile--donate    { --ha-tile-color: var(--wp--preset--color--accent); }
.ha-tile--equipment { --ha-tile-color: var(--wp--preset--color--secondary); }
.ha-tile--volunteer { --ha-tile-color: var(--wp--preset--color--primary); }
.ha-tile--nominate  { --ha-tile-color: var(--wp--preset--color--gold); }

.wp-block-columns.ha-equal > .wp-block-column { display: flex; flex-direction: column; }
.wp-block-columns.ha-equal > .wp-block-column > .wp-block-group { flex: 1; }

/* ---------- Icons (used via Custom HTML blocks) ---------- */
.ha-icon {
	display: inline-grid; place-items: center;
	width: 3.25rem; height: 3.25rem; border-radius: 14px;
	background: color-mix(in srgb, var(--ha-tile-color, var(--wp--preset--color--accent)) 12%, white);
	color: var(--ha-tile-color, var(--wp--preset--color--accent));
	margin-bottom: .25rem;
}
.ha-tile--nominate .ha-icon { color: #9A6A00; }

.ha-icon--lg { width: 4rem; height: 4rem; }


/* ---------- Rink-lines background (subtle nod to the ice) ---------- */
.wp-block-group.is-style-rink-lines {
	background-color: var(--wp--preset--color--ice);
	background-image:
		radial-gradient(circle at 50% 50%, transparent 0 118px, rgba(29,111,196,.10) 118px 121px, transparent 121px),
		linear-gradient(90deg, transparent calc(50% - 2px), rgba(214,54,31,.10) calc(50% - 2px) calc(50% + 2px), transparent calc(50% + 2px)),
		linear-gradient(90deg, transparent calc(22% - 3px), rgba(29,111,196,.08) calc(22% - 3px) calc(22% + 3px), transparent calc(22% + 3px)),
		linear-gradient(90deg, transparent calc(78% - 3px), rgba(29,111,196,.08) calc(78% - 3px) calc(78% + 3px), transparent calc(78% + 3px));
}

/* ---------- Hero ---------- */
.ha-hero { position: relative; overflow: hidden; }
.ha-hero .wp-block-image img { box-shadow: var(--wp--preset--shadow--lift); }
.ha-hero-badge {
	position: absolute; left: -1rem; bottom: 1.5rem;
	background: var(--wp--preset--color--base);
	border-radius: var(--ha-radius-m);
	box-shadow: var(--wp--preset--shadow--lift);
	padding: .9rem 1.2rem !important;
	max-width: 15rem;
}
@media (max-width: 781px) { .ha-hero-badge { position: static; margin-top: 1rem !important; max-width: none; } }
.ha-hero-image-wrap { position: relative; }

.ha-highlight {
	background: linear-gradient(transparent 62%, rgba(255,184,28,.55) 62%);
	padding: 0 .1em;
}

/* ---------- Lists ---------- */
.wp-block-list.is-style-checks { list-style: none; padding-left: 0; }
.wp-block-list.is-style-checks li { position: relative; padding-left: 2rem; margin-bottom: .6rem; }
.wp-block-list.is-style-checks li::before {
	content: ""; position: absolute; left: 0; top: .2em;
	width: 1.3rem; height: 1.3rem; border-radius: 50%;
	background: var(--wp--preset--color--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 70% no-repeat;
}

/* ---------- Steps ---------- */
.ha-step-number {
	display: inline-grid; place-items: center;
	width: 2.75rem; height: 2.75rem; border-radius: 50%;
	background: var(--wp--preset--color--primary); color: var(--wp--preset--color--base);
	font-family: var(--wp--preset--font-family--heading); font-weight: 800; font-size: 1.35rem;
	line-height: 1;
}

/* ---------- Stat numbers ---------- */
.ha-stat {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 800; line-height: 1;
	font-size: clamp(2.75rem, 6vw, 4rem);
	color: var(--wp--preset--color--accent);
}

/* ---------- Dark bands ---------- */
.ha-dark-band h1, .ha-dark-band h2, .ha-dark-band h3, .ha-dark-band h4 { color: var(--wp--preset--color--base); }
.ha-dark-band a:not(.wp-block-button__link) { color: var(--wp--preset--color--gold); }
.ha-dark-band .is-style-eyebrow { color: var(--wp--preset--color--gold); }

/* ---------- Footer ---------- */
.ha-footer a:not(.wp-block-button__link) { color: inherit; text-decoration: none; }
.ha-footer a:not(.wp-block-button__link):hover { color: var(--wp--preset--color--gold); text-decoration: underline; }
.ha-footer .wp-block-navigation { --navigation-layout-direction: column; }
.ha-footer .wp-block-navigation .wp-block-navigation__container { gap: .55rem; }

/* ---------- FAQ ---------- */
.wp-block-details summary {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700; font-size: 1.3rem; color: var(--wp--preset--color--primary);
	cursor: pointer; list-style: none; position: relative; padding-right: 2rem;
}
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after {
	content: "+"; position: absolute; right: 0; top: -.1rem;
	font-size: 1.75rem; line-height: 1; color: var(--wp--preset--color--accent);
	transition: transform .2s;
}
.wp-block-details[open] summary::after { transform: rotate(45deg); }

/* ---------- Forms (Gravity Forms / core-friendly) ---------- */
:where(.entry-content, .wp-block-post-content) :is(input[type=text], input[type=email], input[type=tel], input[type=number], input[type=url], select, textarea) {
	border: 1.5px solid var(--wp--preset--color--line);
	border-radius: var(--ha-radius-s);
	padding: .7rem .9rem;
	font: inherit;
	background: var(--wp--preset--color--base);
	transition: border-color .2s, box-shadow .2s;
}
:where(.entry-content, .wp-block-post-content) :is(input, select, textarea):focus {
	border-color: var(--wp--preset--color--secondary);
	box-shadow: 0 0 0 4px rgba(29,111,196,.15);
	outline: none;
}
:where(.wp-block-post-content) :is(input[type=submit], button[type=submit], .gform_button) {
	background: var(--wp--preset--color--accent); color: #fff; border: 0;
	border-radius: 999px; padding: .85rem 1.75rem; cursor: pointer;
	font-family: var(--wp--preset--font-family--heading); font-weight: 700;
	font-size: 1.1875rem; letter-spacing: .04em; text-transform: uppercase;
}
:where(.wp-block-post-content) :is(input[type=submit], button[type=submit], .gform_button):hover { background: var(--wp--preset--color--accent-dark); }

/* ---------- Page header band ---------- */
.ha-page-header .wp-block-post-title { margin: 0; }

/* ---------- Images inside cards ---------- */
.is-style-card .wp-block-image img,
.is-style-action-tile .wp-block-image img { border-radius: calc(var(--ha-radius-m) - 4px); }

.wp-block-list.ha-plain-list { list-style: none; padding-left: 0; line-height: 2; }

/* Balanced headings avoid single-word orphans */
h1, h2, h3, .wp-block-post-title { text-wrap: balance; }
p { text-wrap: pretty; }

/* Stacked buttons fill their column evenly */
.wp-block-buttons.is-vertical { align-items: stretch; }
.wp-block-buttons.is-vertical > .wp-block-button { width: 100%; }
.wp-block-buttons.is-vertical .wp-block-button__link { width: 100%; }
@media (min-width: 782px) { .ha-dark-band .wp-block-buttons.is-vertical { max-width: 22rem; margin-left: auto; } }

/* Mobile header polish */
.ha-header .wp-block-button__link { white-space: nowrap; }
@media (max-width: 600px) {
	.ha-utility-bar .wp-block-social-links { display: none; }
	.ha-utility-bar p { font-size: .8125rem; }
}

/* ---------- Icon glyphs (CSS masks: safe inside page content for every user role) ---------- */
.ha-icon::before { content: ""; width: 1.6rem; height: 1.6rem; background: currentColor; -webkit-mask: var(--ha-glyph) center / contain no-repeat; mask: var(--ha-glyph) center / contain no-repeat; }
.ha-icon--lg::before { width: 2rem; height: 2rem; }
.ha-i-heart { --ha-glyph: 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='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E"); }
.ha-i-users { --ha-glyph: 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='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E"); }
.ha-i-stick { --ha-glyph: 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='M7 2.5l6.2 15'/%3E%3Cpath d='M13.2 17.5h6.3a1.5 1.5 0 0 1 0 3h-7.3l-1.1-3'/%3E%3Cellipse cx='5' cy='19.5' rx='3' ry='1.4'/%3E%3C/svg%3E"); }
.ha-i-star { --ha-glyph: 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='M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z'/%3E%3C/svg%3E"); }
.ha-i-ticket { --ha-glyph: 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='M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z'/%3E%3Cpath d='M13 5v2'/%3E%3Cpath d='M13 17v2'/%3E%3Cpath d='M13 11v2'/%3E%3C/svg%3E"); }
.ha-i-recycle { --ha-glyph: 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='M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8'/%3E%3Cpath d='M21 3v5h-5'/%3E%3Cpath d='M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16'/%3E%3Cpath d='M8 16H3v5'/%3E%3C/svg%3E"); }
.ha-i-wrench { --ha-glyph: 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.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z'/%3E%3C/svg%3E"); }
.ha-i-pin { --ha-glyph: 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='M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E"); }
.ha-i-calendar { --ha-glyph: 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='M8 2v4'/%3E%3Cpath d='M16 2v4'/%3E%3Crect width='18' height='18' x='3' y='4' rx='2'/%3E%3Cpath d='M3 10h18'/%3E%3C/svg%3E"); }
.ha-i-box { --ha-glyph: 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='M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z'/%3E%3Cpath d='M12 22V12'/%3E%3Cpath d='m3.3 7 7.703 4.734a2 2 0 0 0 1.994 0L20.7 7'/%3E%3C/svg%3E"); }
.ha-i-megaphone { --ha-glyph: 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='m3 11 18-5v12L3 14v-3z'/%3E%3Cpath d='M11.6 16.8a3 3 0 1 1-5.8-1.6'/%3E%3C/svg%3E"); }
.ha-i-shield { --ha-glyph: 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='M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z'/%3E%3C/svg%3E"); }
.ha-i-mail { --ha-glyph: 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%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E"); }
.ha-i-handshake { --ha-glyph: 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='m11 17 2 2a1 1 0 1 0 3-3'/%3E%3Cpath d='m14 14 2.5 2.5a1 1 0 1 0 3-3l-3.88-3.88a3 3 0 0 0-4.24 0l-.88.88a1 1 0 1 1-3-3l2.81-2.81a5.79 5.79 0 0 1 7.06-.87l.47.28a2 2 0 0 0 1.42.25L21 4'/%3E%3Cpath d='m21 3 1 11h-2'/%3E%3Cpath d='M3 3 2 14l6.5 6.5a1 1 0 1 0 3-3'/%3E%3Cpath d='M3 4h8'/%3E%3C/svg%3E"); }
.ha-i-plus { --ha-glyph: 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 12h14'/%3E%3Cpath d='M12 5v14'/%3E%3C/svg%3E"); }

/* ---------- People cards (Board) ---------- */
.ha-person .wp-block-image { margin-bottom: 0; }
.ha-person .wp-block-image img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: top center; }
.ha-open-seat {
	justify-content: center;
	border: 2px dashed var(--wp--preset--color--line) !important; box-shadow: none !important;
	background: var(--wp--preset--color--ice) !important;
}
/* ---------- Contact topic list ---------- */
.ha-topic { padding: .9rem 1rem !important; border-radius: var(--ha-radius-s); border: 1px solid var(--wp--preset--color--line); background: var(--wp--preset--color--base); transition: border-color .2s, box-shadow .2s; }
.ha-topic:hover { border-color: var(--wp--preset--color--secondary); box-shadow: var(--wp--preset--shadow--card); }
.ha-topic .ha-icon { width: 2.5rem; height: 2.5rem; border-radius: 10px; margin: 0; flex: none; }
.ha-topic .ha-icon::before { width: 1.25rem; height: 1.25rem; }
.ha-topic p { margin: 0; }
.ha-topic a { text-decoration: none; font-weight: 600; color: var(--wp--preset--color--primary); }
.ha-topic a:hover { text-decoration: underline; }


/* ---------- Zeffy donation embed ---------- */
.ha-zeffy { min-height: 420px; margin-inline: calc(-1 * clamp(.25rem, 1vw, .75rem)); }
.ha-zeffy iframe { max-width: 100%; }
