/* Header navigation */
body .wp-block-navigation .wp-block-navigation__container { gap: var(--wp--preset--spacing--32); }
body .wp-block-navigation .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--maroon); }


/* Sticky header: stays at the top while the page scrolls */
header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 100;
	background-color: var(--wp--preset--color--white);
	border-bottom: 1px solid var(--wp--preset--color--beige);
}

/* When logged in, WordPress shows its own admin bar at the top. Sit below it. */
body.admin-bar header.wp-block-template-part { top: 32px; }
@media (max-width: 782px) {
	body.admin-bar header.wp-block-template-part { top: 46px; }
}
@media (max-width: 600px) {
	/* On small phones the admin bar scrolls away, so no offset is needed */
	body.admin-bar header.wp-block-template-part { top: 0; }
}

/* Footer */
footer.wp-block-template-part ul { list-style: none; padding-left: 0; }
footer.wp-block-template-part li { margin-bottom: 8px; }
footer.wp-block-template-part a:not(.wp-block-social-link-anchor) { color: var(--wp--preset--color--white); }
footer.wp-block-template-part a:not(.wp-block-social-link-anchor):hover { color: var(--wp--preset--color--beige); }
.gavel-footer-center { width: fit-content; margin-inline: auto; }

/* Footer logo (white-letter version) */
.gavel-footer-logo { display: block; width: 450px; max-width: 100%; height: auto; margin-bottom: 20px; }

/* Footer bottom bar: thin light divider, small text */
.gavel-footer-bottom { margin-top: 48px; padding-top: 24px; border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--cream) 25%, transparent); }
.gavel-footer-bottom p { margin: 0; font-size: 14px; opacity: 0.8; }

/* Keep the footer at the bottom of the window on short pages */
.wp-site-blocks { min-height: 100vh; display: flex; flex-direction: column; }
.wp-site-blocks > footer { margin-top: auto; }

/* Footer contact rows with icons */
.gavel-contact-row { display: flex; align-items: flex-start; gap: 16px; margin-bottom: 16px; }
.gavel-icon { flex: 0 0 20px; width: 20px; height: 20px; margin-top: 2px; color: var(--wp--preset--color--white); }

/* Smooth hover transitions */
a { transition: color 0.25s ease, font-weight 0.25s ease;}
a:hover { font-weight: 500; }

@media (prefers-reduced-motion: reduce) {
	a { transition: none; }
}

/* Footer on mobile: Quick Links as a left-aligned wrapping row */
@media (max-width: 781px) {
	.gavel-footer-center { width: auto; margin-inline: 0; }
	.gavel-footer-center ul { display: flex; flex-wrap: wrap; gap: 0 24px; }
	footer.wp-block-template-part .gavel-footer-center li { margin-bottom: 0; }
	.gavel-footer-center a { display: inline-block; padding: 8px 0; }
}






/* ===== Home page (templates/front-page.html) ===== */

/* Sections are full-width bands that touch each other (no gaps between them) */
.wp-site-blocks > main.gavel-home { margin-block-start: 0; }
.gavel-home > * { margin-block: 0; }

.gavel-section { padding-block: var(--wp--preset--spacing--96); }
.gavel-stats { padding-block: var(--wp--preset--spacing--64); border-block: 1px solid var(--wp--preset--color--beige); }

/* Small label above a heading */
.gavel-eyebrow {
	color: var(--wp--preset--color--maroon);
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 600;
	font-size: 0.875rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin-block: 0 var(--wp--preset--spacing--16);
}

/* Hero */
.gavel-hero h1 {
	font-size: clamp(2.25rem, 5vw, 3.5rem);
	line-height: 1.15;
	margin-block: 0 var(--wp--preset--spacing--24);
}
.gavel-hero p:not(.gavel-eyebrow) { font-size: 1.125rem; line-height: 1.6; }
.gavel-hero .wp-block-columns,
.gavel-who .wp-block-columns { gap: var(--wp--preset--spacing--64); }

/* Photos: rounded card corners, soft shadow, fixed shape */
.gavel-image {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: var(--wp--custom--radius--card);
	box-shadow: var(--wp--preset--shadow--soft);
}

/* Text link with arrow */
.gavel-text-link a { font-weight: 600; }

/* Buttons (radius token from theme.json; fixed weight so hover doesn't shift the text) */
.wp-block-button .wp-block-button__link,
.wp-block-button .wp-block-button__link:hover {
	border-radius: var(--wp--custom--radius--button);
	padding: var(--wp--preset--spacing--16) var(--wp--preset--spacing--32);
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 600;
	transition: background-color 0.25s ease;
}
.gavel-btn-secondary .wp-block-button__link { border: 1px solid var(--wp--preset--color--maroon); }
/* !important is needed: WordPress colour classes are !important themselves */
.wp-block-button:not(.gavel-btn-secondary) .wp-block-button__link:hover { background-color: var(--wp--preset--color--deep-maroon) !important; }
.gavel-btn-secondary .wp-block-button__link:hover { background-color: var(--wp--preset--color--cream) !important; }

/* Stats band */
.gavel-stats-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--wp--preset--spacing--32);
	text-align: center;
}
.gavel-stat-number {
	font-family: var(--wp--preset--font-family--poppins);
	font-weight: 700;
	font-size: clamp(2rem, 4vw, 3rem);
	line-height: 1.1;
	color: var(--wp--preset--color--maroon);
	margin: 0;
}
.gavel-stat-label {
	color: var(--wp--preset--color--slate);
	font-size: 0.875rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin: var(--wp--preset--spacing--8) 0 0;
}

@media (max-width: 781px) {
	.gavel-section { padding-block: var(--wp--preset--spacing--64); }
	.gavel-stats { padding-block: var(--wp--preset--spacing--48); }
	.gavel-hero .wp-block-columns,
	.gavel-who .wp-block-columns { gap: var(--wp--preset--spacing--32); }
	.gavel-stats-grid { grid-template-columns: repeat(2, 1fr); }
}




/* ===== Events (archive, single, cards) ===== */

/* Plain pages: vertical breathing room, no gap before the footer */
.gavel-page { padding-block: var(--wp--preset--spacing--64); }
.gavel-page-intro { margin-bottom: var(--wp--preset--spacing--48); }
.gavel-section-head { margin-bottom: var(--wp--preset--spacing--48); }
.gavel-section-cta { justify-content: center; margin-top: var(--wp--preset--spacing--48); }

/* Card grid: as many 18rem columns as fit, so mobile becomes one column automatically */
.gavel-event-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr));
	gap: var(--wp--preset--spacing--32);
	list-style: none;
	padding: 0;
	margin: 0;
}
.gavel-event-grid > li { margin: 0; }

/* Card */
.gavel-event-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	background-color: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--beige);
	border-radius: var(--wp--custom--radius--card);
	box-shadow: var(--wp--preset--shadow--soft);
	transition: transform 0.25s ease;
}
.gavel-event-card:hover { transform: translateY(-4px); }
.gavel-event-card .wp-block-post-featured-image { margin: 0; }
.gavel-event-card-body { padding: var(--wp--preset--spacing--24); }
.gavel-event-card-body .wp-block-post-title { font-size: 1.25rem; margin: 0 0 var(--wp--preset--spacing--16); }
.gavel-event-card-body .wp-block-post-title a { color: var(--wp--preset--color--charcoal); }
.wp-block-post-title a:hover { font-weight: inherit; }

/* Event info block */
.gavel-event-rows { list-style: none; padding: 0; margin: 0; }
.gavel-event-row {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--8);
	margin-bottom: var(--wp--preset--spacing--8);
	color: var(--wp--preset--color--slate);
	font-size: 0.875rem;
}
.gavel-event-icon { flex: 0 0 16px; width: 16px; height: 16px; color: var(--wp--preset--color--maroon); }
.gavel-event-more {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--8);
	margin-top: var(--wp--preset--spacing--8);
	font-weight: 600;
}
.gavel-event-more:hover { font-weight: 600; }

/* "Past Event" pill */
.gavel-pill {
	padding: var(--wp--preset--spacing--8) var(--wp--preset--spacing--16);
	border-radius: var(--wp--custom--radius--pill);
	background-color: var(--wp--preset--color--beige);
	color: var(--wp--preset--color--slate);
	font-size: 0.75rem;
	line-height: 1;
}

/* Single event page */
.gavel-page.gavel-single-event > * { max-width: min(100%, 60rem); }
.gavel-back-link { margin: 0; font-size: 0.875rem; }
.gavel-back-link a { color: var(--wp--preset--color--slate); }
.gavel-single-event .gavel-event-row { font-size: 1rem; }
.gavel-event-banner img { width: 100%; border-radius: var(--wp--custom--radius--card); }
.gavel-single-event .wp-block-post-content > p { max-width: 70ch; }

/* Useful Links rows */
.gavel-event-links-title { font-size: 1.25rem; margin: 0 0 var(--wp--preset--spacing--16); }
.gavel-event-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--16);
	margin-bottom: var(--wp--preset--spacing--16);
	padding: var(--wp--preset--spacing--16) var(--wp--preset--spacing--24);
	background-color: var(--wp--preset--color--ivory);
	border: 1px solid var(--wp--preset--color--beige);
	border-radius: var(--wp--custom--radius--button);
	color: var(--wp--preset--color--charcoal);
}
.gavel-event-link small { display: block; color: var(--wp--preset--color--slate); font-size: 0.75rem; }
.gavel-event-link.is-closed { background-color: var(--wp--preset--color--beige); color: var(--wp--preset--color--slate); }
.gavel-event-link:hover { font-weight: inherit; }

@media (prefers-reduced-motion: reduce) {
	.gavel-event-card { transition: none; }
	.gavel-event-card:hover { transform: none; }
}

/* Space between the date/location rows and the banner image */
.gavel-event-info.is-meta { margin-bottom: var(--wp--preset--spacing--32); }








/* ===== Blog (list and single post) ===== */

/* Two cards per row on desktop, one on phones (min() stops overflow on narrow screens) */
.gavel-post-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 26rem), 1fr));
	gap: var(--wp--preset--spacing--32);
	list-style: none;
	padding: 0;
	margin: 0;
}
.gavel-post-grid > li { margin: 0; }

/* Byline: author and date with small icons */
.gavel-byline {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--8) var(--wp--preset--spacing--16);
	margin-bottom: var(--wp--preset--spacing--8);
	color: var(--wp--preset--color--slate);
	font-size: 0.875rem;
}
.gavel-byline-item { display: inline-flex; align-items: center; gap: var(--wp--preset--spacing--8); }
.gavel-meta-icon { flex: 0 0 16px; width: 16px; height: 16px; color: var(--wp--preset--color--maroon); }

/* Card excerpt and Read More link */
.gavel-post-card .wp-block-post-excerpt { margin: 0; color: var(--wp--preset--color--slate); }
.gavel-post-card .wp-block-post-excerpt__excerpt { margin: 0 0 var(--wp--preset--spacing--16); }
.gavel-post-card .wp-block-post-excerpt__more-link { font-weight: 600; }
.gavel-post-card .wp-block-post-excerpt__more-link:hover { font-weight: 600; }
.gavel-post-card .wp-block-post-excerpt__more-link::after { content: " \2192"; }

/* Pagination */
.wp-block-query-pagination { gap: var(--wp--preset--spacing--8); margin-top: var(--wp--preset--spacing--48); }
.wp-block-query-pagination a,
.wp-block-query-pagination .page-numbers {
	padding: var(--wp--preset--spacing--8) var(--wp--preset--spacing--16);
	border-radius: var(--wp--custom--radius--button);
}
.wp-block-query-pagination a:hover { font-weight: inherit; }
.wp-block-query-pagination .page-numbers.current {
	background-color: var(--wp--preset--color--maroon);
	color: var(--wp--preset--color--white);
}

/* Single post: same reading width as the single event page */
.gavel-page.gavel-single-post > * { max-width: min(100%, 60rem); }
.gavel-single-post .gavel-byline { margin-bottom: 0; }
.gavel-post-lead { color: var(--wp--preset--color--slate); font-size: 1.125rem; line-height: 1.6; max-width: 70ch; }
.gavel-post-banner img { width: 100%; border-radius: var(--wp--custom--radius--card); }
.gavel-single-post .gavel-post-content > :is(p, ul, ol, h2, h3, h4, blockquote) { max-width: 70ch; }

/* Old (classic editor) posts: keep their images, captions and tables inside the page */
.gavel-post-content img { max-width: 100%; height: auto; }
.gavel-post-content img.alignleft { float: left; margin: 0 var(--wp--preset--spacing--24) var(--wp--preset--spacing--16) 0; }
.gavel-post-content img.alignright { float: right; margin: 0 0 var(--wp--preset--spacing--16) var(--wp--preset--spacing--24); }
.gavel-post-content img.aligncenter { display: block; margin-inline: auto; }
.gavel-post-content .wp-caption { max-width: 100%; }
.gavel-post-content .wp-caption-text,
.gavel-post-content figcaption { color: var(--wp--preset--color--slate); font-size: 0.875rem; }
.gavel-post-content table { display: block; max-width: 100%; overflow-x: auto; }
.gavel-post-content iframe { max-width: 100%; }

/* ===== Whole card clickable (blog and event cards) ===== */
.gavel-post-card,
.gavel-event-card {
	position: relative;
	-webkit-user-select: none;
	user-select: none;
	cursor: pointer;
}

/* The title link stretches over the whole card */
.gavel-post-card .wp-block-post-title a::after,
.gavel-event-card .wp-block-post-title a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: inherit;
}

/* Keyboard users: show a focus ring around the whole card */
.gavel-post-card:has(a:focus-visible),
.gavel-event-card:has(a:focus-visible) {
	outline: 2px solid var(--wp--preset--color--maroon);
	outline-offset: 2px;
}

/* ===== Single post: gap between "Back to Blog" and the byline ===== */
.gavel-single-post .gavel-back-link { margin-bottom: var(--wp--preset--spacing--16); }



/* ===== About page ===== */
.wp-site-blocks > main.gavel-about { margin-block-start: 0; }
.gavel-about > * { margin-block: 0; }
.gavel-about-section { padding-block: var(--wp--preset--spacing--96); }
.gavel-about h1,
.gavel-about h2 { margin-block: 0 var(--wp--preset--spacing--24); line-height: 1.15; }
.gavel-about h1 { font-size: 3.25rem; }
.gavel-about h1 span,
.gavel-about h2 span { color: var(--wp--preset--color--maroon); }
.gavel-about-vision .wp-block-columns { gap: var(--wp--preset--spacing--64); }
.gavel-about-statement { margin-top: var(--wp--preset--spacing--32); }
.gavel-about-statement p:last-child { margin-block: 0; line-height: 1.7; }
.gavel-about-label {
	margin-block: 0 var(--wp--preset--spacing--8);
	color: var(--wp--preset--color--maroon);
	font-family: var(--wp--preset--font-family--poppins);
	font-size: 0.875rem;
	font-weight: 600;
	text-transform: uppercase;
}

.gavel-photo-collage { position: relative; min-height: 28rem; }
.gavel-photo-collage figure { position: absolute; overflow: hidden; margin: 0; border: 2px solid var(--wp--preset--color--gold); box-shadow: var(--wp--preset--shadow--soft); }
.gavel-photo-collage img { display: block; width: 100%; height: 100%; object-fit: cover; }
.gavel-photo-main { inset: 12% 6% 12% 28%; border-radius: 30% 30% 30% 30%; transform: rotate(45deg) scale(0.82); }
.gavel-photo-main img { transform: rotate(-45deg) scale(1.42); }
.gavel-photo-small { width: 34%; aspect-ratio: 1; border-radius: 28%; transform: rotate(45deg); }
.gavel-photo-small img { transform: rotate(-45deg) scale(1.42); }
.gavel-photo-extra-small { width: 25%; aspect-ratio: 1; border-radius: 28%; transform: rotate(45deg); }
.gavel-photo-extra-small img { transform: rotate(-45deg) scale(1.42); }
.gavel-photo-one { top: 2%; left: 7%; }
.gavel-photo-two { bottom: 2%; left: 7%; }
.gavel-photo-three { bottom:35%; left: 0%; }

.gavel-about-story-columns { gap: var(--wp--preset--spacing--64); }
.gavel-about-story-image { margin: 0; }
.gavel-about-story-image img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--wp--custom--radius--card); box-shadow: var(--wp--preset--shadow--soft); }
.gavel-about-story-copy > p:not(.gavel-eyebrow) { max-width: 65ch; line-height: 1.75; }
.gavel-about-section-heading { margin-bottom: var(--wp--preset--spacing--48); text-align: center; }
.gavel-about-section-heading .gavel-eyebrow { margin-bottom: var(--wp--preset--spacing--8); }
.gavel-about-section-heading h2 { margin-bottom: 0; }

.gavel-value-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--wp--preset--spacing--24); }
.gavel-value-card { padding: var(--wp--preset--spacing--24); background: var(--wp--preset--color--white); border: 1px solid var(--wp--preset--color--beige); border-radius: var(--wp--custom--radius--card); box-shadow: var(--wp--preset--shadow--soft); }
.gavel-value-number { margin: 0 0 var(--wp--preset--spacing--24); color: var(--wp--preset--color--maroon); font-family: var(--wp--preset--font-family--poppins); font-size: 1.125rem; font-weight: 600; }
.gavel-value-card h3 { margin: 0 0 var(--wp--preset--spacing--8); font-size: 1.25rem; }
.gavel-value-card p:last-child { margin: 0; color: var(--wp--preset--color--slate); line-height: 1.6; }

.gavel-exco-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--wp--preset--spacing--24); }
.gavel-exco-card:nth-last-child(3) { grid-column-start: 2; }
.gavel-exco-card {
	min-width: 0;
	min-height: 14rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: var(--wp--preset--spacing--24);
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--beige);
	border-radius: var(--wp--custom--radius--card);
	text-align: center;
}
.gavel-exco-photo { width: 6.25rem; margin: 0 0 var(--wp--preset--spacing--16); }
.gavel-exco-photo img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; border: 4px solid var(--wp--preset--color--cream); border-radius: 50%; }
.gavel-exco-name { max-width: 100%; margin: 0 0 var(--wp--preset--spacing--8); font-size: 1.125rem; overflow-wrap: anywhere; }
.gavel-exco-role { margin: 0; color: var(--wp--preset--color--maroon); font-size: 0.9375rem; line-height: 1.4; }

@media (max-width: 900px) {
	.gavel-value-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gavel-exco-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.gavel-exco-card:nth-last-child(3) { grid-column-start: auto; }
	.gavel-exco-card:last-child { grid-column-start: 2; }
}
@media (max-width: 781px) {
	.gavel-about-section { padding-block: var(--wp--preset--spacing--64); }
	.gavel-about h1 { font-size: 2.5rem; }
	.gavel-about-vision .wp-block-columns,
	.gavel-about-story-columns { gap: var(--wp--preset--spacing--32); }
	.gavel-photo-collage { min-height: 22rem; }
}
@media (max-width: 600px) {
	.gavel-exco-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gavel-exco-card:last-child { grid-column-start: 2; }
}
@media (max-width: 480px) {
	.gavel-value-grid,
	.gavel-exco-grid { grid-template-columns: 1fr; }
	.gavel-exco-card:last-child { grid-column-start: auto; }
}

/* ===== Contact page ===== */
.wp-site-blocks > main.gavel-contact-page { margin-block-start: 0; }
.gavel-contact-page > * { margin-block: 0; }
.gavel-contact-hero { padding-block: var(--wp--preset--spacing--48); text-align: center; }
.gavel-contact-hero h1 { margin: 0 0 var(--wp--preset--spacing--8); color: var(--wp--preset--color--white); }
.gavel-contact-hero p { margin: 0; color: var(--wp--preset--color--beige); }
.gavel-contact-section { padding-block: var(--wp--preset--spacing--64); }
.gavel-contact-columns { gap: var(--wp--preset--spacing--32); }
.gavel-contact-info h2 { margin: 0 0 var(--wp--preset--spacing--8); font-size: 1.5rem; }
.gavel-contact-intro { max-width: 60ch; margin: 0 0 var(--wp--preset--spacing--24); color: var(--wp--preset--color--slate); line-height: 1.6; }
.gavel-contact-list { display: grid; gap: var(--wp--preset--spacing--16); }
.gavel-contact-person,
.gavel-contact-detail {
	display: grid;
	grid-template-columns: 2.5rem minmax(0, 1fr);
	align-items: center;
	column-gap: var(--wp--preset--spacing--16);
	padding: var(--wp--preset--spacing--16);
	background: var(--wp--preset--color--beige);
	border-radius: var(--wp--custom--radius--button);
}
.gavel-contact-icon { grid-column: 1; grid-row: 1 / span 4; box-sizing: border-box; width: 2.5rem; height: 2.5rem; padding: 0.625rem; color: var(--wp--preset--color--maroon); background: var(--wp--preset--color--white); border-radius: 50%; }
.gavel-contact-role { grid-column: 2; margin: 0; font-size: 0.875rem; }
.gavel-contact-name { grid-column: 2; margin: 0; }
.gavel-contact-phone { grid-column: 2; margin: 0; color: var(--wp--preset--color--slate); font-size: 0.875rem; }
.gavel-contact-phone a { color: inherit; }
.gavel-contact-detail { min-height: 4.25rem; }
.gavel-contact-detail .gavel-contact-icon { grid-row: 1; }
.gavel-contact-detail p { grid-column: 2; margin: 0; color: var(--wp--preset--color--slate); font-size: 0.875rem; overflow-wrap: anywhere; }
.gavel-contact-detail a { color: inherit; }
.gavel-contact-form-card { padding: var(--wp--preset--spacing--32); background: var(--wp--preset--color--white); border-radius: var(--wp--custom--radius--card); box-shadow: var(--wp--preset--shadow--soft); }
.gavel-contact-form-card h3 { margin: 0 0 var(--wp--preset--spacing--8); font-size: 1.25rem; }
.gavel-contact-form-intro { margin: 0 0 var(--wp--preset--spacing--24); color: var(--wp--preset--color--slate); font-size: 0.875rem; line-height: 1.5; }
.gavel-whatsapp-form,
.gavel-whatsapp-form label { display: grid; gap: var(--wp--preset--spacing--8); }
.gavel-whatsapp-form { gap: var(--wp--preset--spacing--16); }
.gavel-whatsapp-form label { min-width: 0; color: var(--wp--preset--color--charcoal); font-size: 0.875rem; font-weight: 600; }
.gavel-whatsapp-form label span span { color: var(--wp--preset--color--maroon); }
.gavel-form-fields { display: grid; grid-template-columns: 1fr; gap: var(--wp--preset--spacing--16); }
.gavel-whatsapp-form input,
.gavel-whatsapp-form textarea { width: 100%; min-width: 0; box-sizing: border-box; padding: var(--wp--preset--spacing--8) var(--wp--preset--spacing--16); color: var(--wp--preset--color--charcoal); background: var(--wp--preset--color--cream); border: 1px solid transparent; border-radius: 0.375rem; font: inherit; font-weight: 400; }
.gavel-whatsapp-form input { min-height: 2.75rem; }
.gavel-whatsapp-form textarea { min-height: 6rem; resize: vertical; }
.gavel-whatsapp-form input:focus-visible,
.gavel-whatsapp-form textarea:focus-visible { outline: 2px solid var(--wp--preset--color--maroon); outline-offset: 2px; }
.gavel-whatsapp-submit { display: inline-flex; align-items: center; justify-content: center; gap: var(--wp--preset--spacing--8); min-height: 2.75rem; padding: var(--wp--preset--spacing--8) var(--wp--preset--spacing--16); color: var(--wp--preset--color--white); background: var(--wp--preset--color--whatsapp); border: 0; border-radius: 0.375rem; font: inherit; font-weight: 600; cursor: pointer; }
.gavel-whatsapp-submit:hover { filter: brightness(0.92); }
.gavel-whatsapp-submit svg { width: 1.125rem; height: 1.125rem; }

@media (max-width: 781px) {
	.gavel-contact-section { padding-block: var(--wp--preset--spacing--48); }
	.gavel-contact-columns { gap: var(--wp--preset--spacing--32); }
}
@media (max-width: 480px) {
	.gavel-contact-form-card { padding: var(--wp--preset--spacing--24); }
}


/* ===== Blog toolbar: search box and category filter ===== */
.gavel-blog-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: var(--wp--preset--spacing--16);
	margin-bottom: var(--wp--preset--spacing--48);
}
.gavel-blog-search { flex: 1 1 20rem; margin: 0; }
.gavel-blog-filter { flex: 0 1 18rem; margin: 0; }
.gavel-blog-search .wp-block-search__inside-wrapper { gap: var(--wp--preset--spacing--8); }

.gavel-blog-search .wp-block-search__input,
.gavel-blog-filter select {
	width: 100%;
	padding: var(--wp--preset--spacing--16);
	background-color: var(--wp--preset--color--ivory);
	border: 1px solid var(--wp--preset--color--beige);
	border-radius: var(--wp--custom--radius--button);
	color: var(--wp--preset--color--charcoal);
	font: inherit;
}
.gavel-blog-search .wp-block-search__input:focus-visible,
.gavel-blog-filter select:focus-visible {
	outline: 2px solid var(--wp--preset--color--maroon);
	outline-offset: 2px;
}

.gavel-blog-search .wp-block-search__button {
	margin: 0;
	padding: var(--wp--preset--spacing--16) var(--wp--preset--spacing--24);
	background-color: var(--wp--preset--color--maroon);
	color: var(--wp--preset--color--white);
	border: 0;
	border-radius: var(--wp--custom--radius--button);
	font-weight: 600;
	transition: background-color 0.25s ease;
}
.gavel-blog-search .wp-block-search__button:hover { background-color: var(--wp--preset--color--deep-maroon); }


/* Pages that start with a Deep Maroon title band (the band reuses .gavel-contact-hero) */
.wp-site-blocks > main.gavel-page.has-banner { margin-block-start: 0; }
.gavel-page.has-banner { padding-top: 0; }
.gavel-page.has-banner > .gavel-contact-hero { margin-bottom: var(--wp--preset--spacing--48); }
.gavel-page-backrow { margin-bottom: var(--wp--preset--spacing--24); }


/* ===== Home hero: full-width photo slideshow with a Deep Maroon overlay (CSS only, no JavaScript) ===== */
.gavel-hero-slider {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height:85dvh;
	overflow: hidden;
	background-color: var(--wp--preset--color--deep-maroon);
	color: var(--wp--preset--color--white);
	text-align: center;
}
.gavel-hero-media { position: absolute; inset: 0; pointer-events: none; }
.gavel-hero-slide {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	animation: gavel-hero-fade 18s infinite;
}
.gavel-hero-slide:nth-child(2) { animation-delay: 6s; }
.gavel-hero-slide:nth-child(3) { animation-delay: 12s; }
/* Overlay strength: change 72% to make it lighter or darker */
.gavel-hero-overlay { position: absolute; inset: 0; background-color: color-mix(in srgb, var(--wp--preset--color--deep-maroon) 72%, transparent); }
.gavel-hero-dots {
	position: absolute;
	left: 0;
	right: 0;
	bottom: var(--wp--preset--spacing--24);
	display: flex;
	justify-content: center;
	gap: var(--wp--preset--spacing--8);
}
.gavel-hero-dots i {
	width: 8px;
	height: 8px;
	border-radius: var(--wp--custom--radius--pill);
	background-color: color-mix(in srgb, var(--wp--preset--color--white) 45%, transparent);
	animation: gavel-hero-dot 18s infinite;
}
.gavel-hero-dots i:nth-child(2) { animation-delay: 6s; }
.gavel-hero-dots i:nth-child(3) { animation-delay: 12s; }

@keyframes gavel-hero-fade {
	0% { opacity: 0; }
	4% { opacity: 1; }
	33.33% { opacity: 1; }
	37.33% { opacity: 0; }
	100% { opacity: 0; }
}
@keyframes gavel-hero-dot {
	0%, 33.33% { width: 24px; background-color: var(--wp--preset--color--white); }
	33.34%, 100% { width: 8px; background-color: color-mix(in srgb, var(--wp--preset--color--white) 45%, transparent); }
}

.gavel-hero-content {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 48rem;
	margin: 0;
	padding: var(--wp--preset--spacing--96) var(--wp--preset--spacing--24);
}
.gavel-hero-content > * { margin-block: 0; }
.gavel-hero-slider .gavel-eyebrow { color: var(--wp--preset--color--beige); margin-bottom: var(--wp--preset--spacing--16); }
.gavel-hero-slider h1 {
	color: var(--wp--preset--color--white);
	font-size: clamp(2.25rem, 5vw, 3.75rem);
	line-height: 1.15;
	margin-bottom: var(--wp--preset--spacing--24);
}
.gavel-hero-slider p:not(.gavel-eyebrow) {
	color: var(--wp--preset--color--cream);
	font-size: 1.125rem;
	line-height: 1.6;
	margin-bottom: var(--wp--preset--spacing--32);
}
.gavel-hero-slider .wp-block-buttons { justify-content: center; }

/* Hero buttons on the dark photo: light primary, outlined secondary */
.gavel-hero-slider .wp-block-button__link { border: 2px solid transparent; }
.gavel-hero-slider .gavel-btn-light .wp-block-button__link { background-color: var(--wp--preset--color--cream); color: var(--wp--preset--color--maroon); }
.gavel-hero-slider .gavel-btn-ghost .wp-block-button__link { background-color: transparent; color: var(--wp--preset--color--white); border-color: var(--wp--preset--color--white); }
/* !important: an earlier button hover rule is !important too, and this one comes later */
.gavel-hero-slider .gavel-btn-light .wp-block-button__link:hover { background-color: var(--wp--preset--color--white) !important; color: var(--wp--preset--color--maroon); }
.gavel-hero-slider .gavel-btn-ghost .wp-block-button__link:hover { background-color: color-mix(in srgb, var(--wp--preset--color--white) 18%, transparent) !important; color: var(--wp--preset--color--white); }

@media (max-width: 781px) {
	.gavel-hero-slider { min-height: 32rem; }
	.gavel-hero-content { padding-block: var(--wp--preset--spacing--64); }
}
@media (prefers-reduced-motion: reduce) {
	.gavel-hero-slide, .gavel-hero-dots i { animation: none; }
	.gavel-hero-slide:first-child { opacity: 1; }
	.gavel-hero-dots i:first-child { width: 24px; background-color: var(--wp--preset--color--white); }
}

/* ===== Contact page: tap to call and email, icon fix ===== */
.gavel-contact-person,
.gavel-contact-detail { position: relative; }
/* The whole card is the tap target of its phone or email link */
.gavel-contact-person .gavel-contact-phone a::after,
.gavel-contact-detail a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.gavel-contact-person a,
.gavel-contact-detail a { text-decoration: none; }
.gavel-contact-person a:hover,
.gavel-contact-detail a:hover { font-weight: inherit; }
.gavel-contact-person,
.gavel-contact-email { transition: background-color 0.25s ease; }
.gavel-contact-person:hover,
.gavel-contact-email:hover { background-color: color-mix(in srgb, var(--wp--preset--color--beige) 70%, var(--wp--preset--color--white)); }
/* Round icon: square box, content never clipped */
.gavel-contact-icon { box-sizing: border-box; flex: none; width: 2.25rem; height: 2.25rem; padding: 0.5rem; overflow: visible; }
