/*
Theme Name: Harpenden Racqueteers
Theme URI: https://harpendenracqueteers.com/
Description: Club theme for Harpenden Racqueteers Badminton Club. A child of Twenty Twenty-Five: olive and gold colours, the club logo and Q mark, locked section patterns that stay editable, and gentle scroll effects.
Author: Harpenden Racqueteers
Template: twentytwentyfive
Version: 1.1.5
Requires at least: 6.7
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: racqueteers
*/

/* ---------- Type details theme.json can't express ---------- */
h1, h2, h3, h4,
.has-display-font-family,
.wp-block-site-title {
	font-variation-settings: "wdth" 120;
	text-wrap: balance;
}
h1, .racq-wide { font-variation-settings: "wdth" 125; }
p { text-wrap: pretty; }

.racq-kicker,
.has-mono-font-family {
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--x-small);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-weight: 500;
	line-height: 1.4;
}
.racq-kicker { color: var(--wp--preset--color--olive); margin: 0; }
.has-ink-background-color .racq-kicker,
.has-ink-2-background-color .racq-kicker,
.has-olive-background-color .racq-kicker { color: var(--wp--preset--color--gold-bright); }

:where(.wp-site-blocks) :focus-visible {
	outline: 3px solid var(--wp--preset--color--gold);
	outline-offset: 3px;
	border-radius: 4px;
}

/* Links that are buttons or cards shouldn't be underlined */
.racq-card-link, .racq-card-link:hover { text-decoration: none; color: inherit; }

/* ---------- Header ---------- */
header.wp-block-template-part:has(.racq-header) { position: sticky; top: 0; z-index: 50; }
.admin-bar header.wp-block-template-part:has(.racq-header) { top: var(--wp-admin--admin-bar--height, 32px); }
@media (max-width: 600px) { .admin-bar header.wp-block-template-part:has(.racq-header) { top: 0; } }
.racq-header {
	background: var(--wp--preset--color--paper);
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.racq-header .wp-block-site-logo img { height: 54px; width: auto; }
.racq-header .wp-block-navigation .current-menu-item > a,
.racq-header .wp-block-navigation a[aria-current="page"] {
	color: var(--wp--preset--color--olive);
	text-decoration: none;
	box-shadow: inset 0 -3px 0 var(--wp--preset--color--olive);
}
.racq-header .racq-members-link a { color: var(--wp--preset--color--muted); font-weight: 500; font-size: var(--wp--preset--font-size--small); }
.racq-header .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--paper);
	padding: 2rem clamp(16px, 4vw, 32px);
}
.racq-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 1.25rem; font-size: 1.5rem; }
.racq-header .wp-block-navigation__responsive-container-open {
	width: 48px; height: 48px; border: 2px solid var(--wp--preset--color--ink); border-radius: 999px;
	align-items: center; justify-content: center;
}
@media (max-width: 599px) {
	.racq-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: inline-flex; }
}
@media (max-width: 599px) {
	.racq-header .wp-block-site-logo img { height: 44px; }
	.racq-header .racq-header-cta .wp-block-button__link { padding: 0.65rem 1rem; font-size: 1rem; }
}

/* The logo and the Q mark are never rounded or clipped */
.racq-header-logo img, .racq-cta-q img, .racq-footer img, .racq-q-tile img { border-radius: 0 !important; }
.racq-header-logo a { display: block; }

/* ---------- Members' menu ---------- */
.racq-members-nav {
	background: var(--wp--preset--color--olive);
	color: var(--wp--preset--color--paper);
}
.racq-members-nav .wp-block-page-list,
.racq-members-nav ul {
	display: flex; flex-wrap: nowrap; gap: 0.25rem; overflow-x: auto; margin: 0; padding: 0.6rem 0; list-style: none;
}
.racq-members-nav a {
	display: inline-block; white-space: nowrap; color: var(--wp--preset--color--paper);
	text-decoration: none; font-weight: 600; font-size: var(--wp--preset--font-size--small);
	padding: 0.45rem 1rem; border-radius: 999px;
}
.racq-members-nav a:hover { background: rgba(255,255,255,0.12); color: var(--wp--preset--color--paper); }
.racq-members-nav .current-menu-item > a,
.racq-members-nav a[aria-current="page"] { background: var(--wp--preset--color--paper); color: var(--wp--preset--color--ink); }

/* ---------- Cards, photos, tiles ---------- */
.racq-card { border-radius: 22px; }
.racq-photo img, img.racq-photo { border-radius: 22px; width: 100%; height: auto; object-fit: cover; }
.racq-photo--wide img { aspect-ratio: 4 / 3; }
.racq-q-tile {
	display: inline-flex; align-items: center; justify-content: center;
	width: 96px; height: 96px; border-radius: 24px; background: var(--wp--preset--color--olive);
	flex: 0 0 auto;
}
.racq-q-tile img { height: 66%; width: auto; }
.racq-thumb-q {
	aspect-ratio: 3 / 2; background: var(--wp--preset--color--olive);
	display: flex; align-items: center; justify-content: center; margin: 0;
}
.racq-thumb-q img { height: 62%; width: auto; border-radius: 0 !important; }

.racq-tiles .racq-tile {
	background: var(--wp--preset--color--white); border-radius: 22px; padding: 1.75rem;
	display: flex; flex-direction: column; gap: 0.75rem; height: 100%;
	text-decoration: none; color: var(--wp--preset--color--ink);
	transition: box-shadow .2s ease, transform .2s ease;
}
.racq-tiles .racq-tile:hover { box-shadow: 0 0 0 2px var(--wp--preset--color--olive); }
.racq-tile__icon {
	width: 52px; height: 52px; border-radius: 999px; background: var(--wp--preset--color--surface);
	display: flex; align-items: center; justify-content: center;
}
.racq-tile__title { font-family: var(--wp--preset--font-family--display); font-variation-settings: "wdth" 120; font-weight: 850; font-size: 1.5rem; line-height: 1.1; }
.racq-tile__text { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); }

/* Ruled lists (fees, honours, visiting-team facts) */
.racq-rows { border-top: 2px solid currentColor; }
.racq-rows > * { margin: 0 !important; padding: 0.9rem 0; border-bottom: 1px solid var(--wp--preset--color--line); }
.has-ink-background-color .racq-rows > *,
.has-ink-2-background-color .racq-rows > * { border-bottom-color: #46531F; }

/* Steps */
.racq-step { border-top: 3px solid var(--wp--preset--color--ink); padding-top: 1.25rem; }

/* ---------- Marquee (gold scrolling banner) ---------- */
.racq-marquee { overflow: hidden; }
.racq-marquee__track {
	display: flex; width: max-content; gap: 0; align-items: center;
}
.racq-marquee__track > p {
	margin: 0 !important; white-space: nowrap; padding-right: 0.6em;
	font-family: var(--wp--preset--font-family--display); font-variation-settings: "wdth" 125;
	font-weight: 850; font-size: clamp(1.6rem, 4.5vw, 2.75rem); line-height: 1.2;
}
.racq-marquee__track > p::after { content: " /"; }
.racq-motion .racq-marquee__track { animation: racq-marquee 32s linear infinite; }
.racq-motion .racq-marquee:hover .racq-marquee__track { animation-play-state: paused; }
@keyframes racq-marquee { to { transform: translateX(-50%); } }
/* On laptops and PCs the band lines up with the menu and text instead of running edge to edge. */
@media (min-width: 1024px) {
	.racq-marquee.alignfull {
		max-width: var(--wp--style--global--content-size, 1120px);
		margin-left: auto !important; margin-right: auto !important;
		border-radius: 22px;
	}
}

/* ---------- Stacking cards ---------- */
.racq-stack { display: flex; flex-direction: column; gap: 1.75rem; }
.racq-stack > .racq-stack__card {
	position: sticky;
	border-radius: 24px;
	min-height: min(56vh, 360px);
	box-sizing: border-box;
	transform-origin: 50% 0;
	margin: 0 !important;
}
.racq-stack > .racq-stack__card:nth-child(1) { top: calc(var(--racq-header-h, 96px) + 16px); }
.racq-stack > .racq-stack__card:nth-child(2) { top: calc(var(--racq-header-h, 96px) + 34px); }
.racq-stack > .racq-stack__card:nth-child(3) { top: calc(var(--racq-header-h, 96px) + 52px); }
.racq-stack > .racq-stack__card:nth-child(4) { top: calc(var(--racq-header-h, 96px) + 70px); }
.racq-stack > .racq-stack__card:nth-child(n+5) { top: calc(var(--racq-header-h, 96px) + 88px); }

/* ---------- Sideways season strip ---------- */
.racq-strip-section { position: relative; }
.racq-strip {
	display: flex; flex-wrap: nowrap !important; gap: 1.25rem !important;
	overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 1.5rem;
	scrollbar-width: thin;
}
.racq-strip > * {
	flex: 0 0 min(78vw, 320px) !important; scroll-snap-align: start;
	margin: 0 !important; min-height: 260px; box-sizing: border-box;
}
.racq-strip .racq-strip__month {
	font-family: var(--wp--preset--font-family--display); font-variation-settings: "wdth" 125;
	font-weight: 900; font-size: 2.75rem; line-height: 1; color: var(--wp--preset--color--gold-bright);
}
/* Desktop: vertical scroll drives the strip sideways (set up by effects.js) */
.racq-strip-pinned .racq-strip-sticky {
	position: sticky; top: 0; height: 100vh; height: 100svh;
	display: flex; flex-direction: column; justify-content: center; overflow: hidden;
}
.racq-strip-pinned .racq-strip { overflow: visible; scroll-snap-type: none; will-change: transform; }
.racq-strip-progress { height: 3px; width: min(240px, 100%); background: rgba(242,241,230,.18); border-radius: 3px; overflow: hidden; }
.racq-strip-progress i { display: block; height: 100%; width: 0; background: var(--wp--preset--color--gold-bright); }

/* ---------- Reveal on scroll ---------- */
.racq-motion .racq-reveal.is-pending,
.racq-motion .racq-reveal-children.is-pending > * { opacity: 0; transform: translateY(36px); }
.racq-motion .racq-reveal,
.racq-motion .racq-reveal-children > * {
	transition: opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1);
}
.racq-motion .racq-reveal-children > *:nth-child(2) { transition-delay: .1s; }
.racq-motion .racq-reveal-children > *:nth-child(3) { transition-delay: .2s; }
.racq-motion .racq-reveal-children > *:nth-child(4) { transition-delay: .3s; }

/* ---------- Club calendar ("Coming up") ---------- */
.racq-coming-up { border-top: 2px solid var(--wp--preset--color--ink); }
.racq-coming-up__row {
	display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1rem;
	padding: 1rem 0; border-bottom: 1px solid var(--wp--preset--color--line);
}
.racq-coming-up__date {
	width: 7.5rem; font-family: var(--wp--preset--font-family--display); font-variation-settings: "wdth" 120;
	font-weight: 850; font-size: 1.375rem; color: var(--wp--preset--color--olive); line-height: 1.1;
}
.racq-coming-up__what { flex: 1 1 11rem; }
.racq-coming-up__time { color: var(--wp--preset--color--muted); }
.racq-coming-up__source { padding-top: 0.9rem; }
.racq-chip {
	display: inline-block; font-size: 0.9375rem; line-height: 1.3; padding: 0.25rem 0.75rem;
	border-radius: 999px; white-space: nowrap;
}
.racq-chip--club { background: var(--wp--preset--color--surface); color: var(--wp--preset--color--olive); }
.racq-chip--home { background: var(--wp--preset--color--gold-tint); color: #5C4A08; }
.racq-chip--away { border: 1px solid #B9BC94; color: #46531F; padding: calc(0.25rem - 1px) calc(0.75rem - 1px); }
.racq-chip--event { background: var(--wp--preset--color--olive); color: var(--wp--preset--color--on-dark); }
.racq-chip--closed { background: var(--wp--preset--color--line); color: var(--wp--preset--color--ink); }

/* ---------- League summary ---------- */
.racq-league { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; }
.racq-league__card {
	background: var(--wp--preset--color--white); border-radius: 22px; padding: 1.6rem;
	display: flex; flex-direction: column; gap: 0.85rem;
}
.racq-league__pos { display: flex; align-items: baseline; gap: 0.5rem; }
.racq-league__pos strong {
	font-family: var(--wp--preset--font-family--display); font-variation-settings: "wdth" 120;
	font-weight: 900; font-size: 3.25rem; line-height: 1;
}
.racq-league__pos span { color: var(--wp--preset--color--muted); }
.racq-league__lines { border-top: 1px solid var(--wp--preset--color--line); padding-top: 0.75rem; display: flex; flex-direction: column; gap: 0.35rem; font-size: 1rem; }
.racq-league__note { color: var(--wp--preset--color--muted); font-size: 0.9375rem; margin-top: 1rem; }
@media (max-width: 900px) { .racq-league { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .racq-league { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Book a visit form (Contact Form 7) ---------- */
.racq-form .wpcf7-form { display: flex; flex-direction: column; gap: 1.25rem; }
.racq-form .wpcf7-form p { margin: 0; }
.racq-form label { font-weight: 600; font-size: 1rem; display: block; }
.racq-form input[type="text"],
.racq-form input[type="email"],
.racq-form input[type="tel"],
.racq-form select,
.racq-form textarea {
	width: 100%; box-sizing: border-box; margin-top: 0.4rem;
	font: inherit; font-size: 1.0625rem; color: var(--wp--preset--color--ink);
	background: var(--wp--preset--color--white);
	border: 1.5px solid #B9BC94; border-radius: 12px; padding: 0.75rem 0.9rem; min-height: 50px;
}
.racq-form textarea { min-height: 7rem; }
.racq-form .wpcf7-submit {
	align-self: flex-start; background: var(--wp--preset--color--olive); color: var(--wp--preset--color--paper);
	border: 0; border-radius: 999px; font: inherit; font-weight: 700; font-size: 1.1875rem;
	padding: 0.95rem 2rem; min-height: 54px; cursor: pointer;
}
.racq-form .wpcf7-submit:hover { background: var(--wp--preset--color--ink); }
.racq-form .wpcf7-not-valid-tip { color: #8A1C1C; font-size: 0.9375rem; }
.racq-form .wpcf7-response-output { border-radius: 12px; margin: 0 !important; padding: 1rem 1.25rem !important; }
.racq-form .wpcf7 form.sent .wpcf7-response-output { background: var(--wp--preset--color--surface); border-color: var(--wp--preset--color--olive); }
.racq-wednesdays { display: flex; flex-direction: column; gap: 0.6rem; margin-top: 0.6rem; }
.racq-wednesdays .wpcf7-list-item { margin: 0; display: block; }
.racq-wednesdays label {
	display: flex !important; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 0.5rem 1rem;
	padding: 0.75rem 1rem; border: 1.5px solid #B9BC94; border-radius: 12px; min-height: 52px; box-sizing: border-box;
	cursor: pointer; font-weight: 600;
}
.racq-wednesdays label:has(input:checked) { border-color: var(--wp--preset--color--olive); box-shadow: 0 0 0 1px var(--wp--preset--color--olive); }
.racq-wednesdays label.is-disabled { background: var(--wp--preset--color--paper); border-color: var(--wp--preset--color--surface); color: var(--wp--preset--color--muted); cursor: default; }
.racq-wednesdays input { width: 20px; height: 20px; accent-color: var(--wp--preset--color--olive); margin-right: 0.75rem; }

/* ---------- Photos enlarged on click ---------- */
.wp-lightbox-overlay .scrim { background-color: #141A02 !important; opacity: 0.94 !important; }
/* Close, Previous and Next buttons: off-white on the dark backdrop. */
.wp-lightbox-overlay .close-button,
.wp-lightbox-overlay .wp-lightbox-close-button,
.wp-lightbox-overlay .wp-lightbox-navigation-button { color: #F2F1E6 !important; fill: #F2F1E6 !important; }
.wp-lightbox-overlay .close-button svg,
.wp-lightbox-overlay .wp-lightbox-close-button svg,
.wp-lightbox-overlay .wp-lightbox-navigation-button svg { fill: #F2F1E6 !important; }
.wp-lightbox-overlay .wp-lightbox-close-button:focus-visible,
.wp-lightbox-overlay .wp-lightbox-navigation-button:focus-visible { outline: 2px solid #D9B23A; outline-offset: 2px; }

/* ---------- Book a visit: sent ---------- */
.racq-visit-done { text-align: left; display: flex; flex-direction: column; gap: 0.75rem; padding: 0.5rem 0; }
.racq-visit-done[hidden] { display: none; }
.racq-visit-done:focus { outline: none; }
.racq-visit-done__tick { width: 56px; height: 56px; border-radius: 999px; background: var(--wp--preset--color--olive); color: var(--wp--preset--color--paper); display: flex; align-items: center; justify-content: center; font-size: 1.75rem; font-weight: 700; margin: 0; }
.racq-visit-done__title { margin: 0; font-size: var(--wp--preset--font-size--x-large); }
.racq-visit-done p { margin: 0; }
.racq-visit-done__buttons { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 0.25rem !important; }
.racq-visit-done__buttons a { display: inline-flex; align-items: center; min-height: 48px; padding: 0 1.25rem; border-radius: 999px; border: 2px solid var(--wp--preset--color--ink); color: var(--wp--preset--color--ink); font-weight: 700; text-decoration: none; }
.racq-visit-done__buttons a:hover { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--paper); }

/* ---------- Members' password screen ---------- */
.racq-password {
	background: var(--wp--preset--color--white); border-radius: 24px; padding: clamp(1.5rem, 4vw, 2.5rem);
	display: flex; flex-direction: column; gap: 1rem; max-width: 36rem;
}
.racq-password label { font-weight: 600; }
.racq-password input[type="password"] {
	font: inherit; width: 100%; box-sizing: border-box; border: 1.5px solid #B9BC94; border-radius: 12px;
	padding: 0.75rem 0.9rem; min-height: 50px; margin-top: 0.4rem;
}
.racq-password button {
	align-self: flex-start; background: var(--wp--preset--color--olive); color: var(--wp--preset--color--paper);
	border: 0; border-radius: 999px; font: inherit; font-weight: 700; font-size: 1.125rem; padding: 0.9rem 2rem; cursor: pointer; min-height: 52px;
}
.racq-password p { margin: 0; }
.racq-password .racq-password__help { color: var(--wp--preset--color--muted); font-size: 1rem; }
.racq-password .racq-password__error { color: #8A1C1C; font-weight: 600; }

/* ---------- FAQ (Details block) ---------- */
.racq-faq { border-top: 2px solid var(--wp--preset--color--ink); }
.racq-faq .wp-block-details summary {
	font-weight: 700; font-size: 1.25rem; cursor: pointer; list-style: none;
	display: flex; justify-content: space-between; gap: 1rem;
}
.racq-faq .wp-block-details summary::-webkit-details-marker { display: none; }
.racq-faq .wp-block-details summary::after { content: "+"; color: var(--wp--preset--color--olive); transition: transform .2s; }
.racq-faq .wp-block-details[open] summary::after { transform: rotate(45deg); }
.racq-faq .wp-block-details > :not(summary) { color: var(--wp--preset--color--muted); }

/* ---------- News ---------- */
.racq-news-card {
	background: var(--wp--preset--color--white); border-radius: 20px; overflow: hidden; height: 100%;
}
.racq-news-card .wp-block-post-featured-image { margin: 0; }
.racq-news-card .wp-block-post-featured-image img { border-radius: 0; aspect-ratio: 3 / 2; object-fit: cover; }
.racq-news-card .wp-block-post-title a { text-decoration: none; color: inherit; }
.racq-news-card .wp-block-post-title a::after { content: ""; position: absolute; inset: 0; }
.racq-news-card { position: relative; }

/* ---------- Footer ---------- */
.racq-footer a { color: var(--wp--preset--color--on-dark); }
.racq-footer a:hover { color: var(--wp--preset--color--gold-bright); }
.racq-footer p { margin: 0; }

/* ---------- Odds and ends ---------- */
.racq-nowrap { white-space: nowrap; }
.racq-stack > .racq-stack__card { display: flex; flex-direction: column; justify-content: space-between; }
.racq-strip > .racq-card { border: 1px solid #46531F; }
.racq-facts { border-top: 2px solid currentColor; }
.racq-card--outline { border: 2px solid var(--wp--preset--color--ink); }
.has-gold-background-color .racq-kicker,
.has-gold-tint-background-color .racq-kicker { color: var(--wp--preset--color--ink); }
.racq-on-dark a:not(.wp-element-button),
.has-ink-background-color a:not(.wp-element-button),
.has-ink-2-background-color a:not(.wp-element-button),
.has-olive-background-color a:not(.wp-element-button) { color: var(--wp--preset--color--gold-bright); }
.racq-on-dark .racq-coming-up,
.has-olive-background-color .racq-coming-up { border-top-color: var(--wp--preset--color--on-dark); }
.has-olive-background-color .racq-coming-up__row { border-bottom-color: rgba(242,241,230,.22); }
.has-olive-background-color .racq-coming-up__date { color: var(--wp--preset--color--gold-bright); }
.has-olive-background-color .racq-coming-up__time { color: var(--wp--preset--color--on-dark-muted); }
.has-olive-background-color .racq-chip--club { background: rgba(242,241,230,.14); color: var(--wp--preset--color--on-dark); }
.has-olive-background-color .racq-chip--away { border-color: rgba(242,241,230,.5); color: var(--wp--preset--color--on-dark); }
.has-olive-background-color .racq-chip--event { background: var(--wp--preset--color--gold); color: var(--wp--preset--color--ink); }

/* Tiles: the whole card is the link */
.racq-tiles .racq-tile { position: relative; }
.racq-tile__title a { color: inherit; text-decoration: none; }
.racq-tile__title a::after { content: ""; position: absolute; inset: 0; border-radius: 22px; }
.racq-tile__title a::before { content: "→ "; color: var(--wp--preset--color--gold-deep); }
@media (max-width: 781px) { .racq-tiles { grid-template-columns: minmax(0, 1fr) !important; } }

/* Team cards stay four-across on desktops, two on tablets, one on phones */
@media (max-width: 1000px) {
	.racq-team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.racq-team-card { min-height: 160px !important; }
}
@media (max-width: 520px) { .racq-team-grid { grid-template-columns: minmax(0, 1fr) !important; } }

/* Equal-height cards side by side */
.racq-equal-cards > .wp-block-column { display: flex; flex-direction: column; }
.racq-equal-cards > .wp-block-column > .racq-card { flex: 1; }

/* Next club night (members) */
.racq-next-night strong { display: block; font-family: var(--wp--preset--font-family--display); font-variation-settings: "wdth" 125; font-weight: 900; font-size: clamp(2rem, 4vw, 2.75rem); line-height: 1.05; color: var(--wp--preset--color--gold-bright); }
.racq-next-night p { margin: 0.4rem 0 0; }
.racq-next-night .racq-chip { margin-top: 0.75rem; }

/* Gallery */
.racq-gallery img { border-radius: 16px; }

/* Featured news */
.racq-news-card--featured .wp-block-post-featured-image img { aspect-ratio: 4 / 3; }
.racq-news-card--featured .wp-block-columns { margin: 0; }
.racq-news-card--featured .wp-block-column:first-child { align-self: stretch; }
.racq-news-card--featured .wp-block-post-title a::after { display: none; }

/* Photo inside a dark card with no rounding at the bottom */
.racq-photo-flat { margin: 0 !important; }
.racq-photo-flat img { border-radius: 22px 22px 0 0; width: 100%; height: auto; }
.has-ink-2-background-color.racq-card { overflow: hidden; }

/* ---------- Small screens ---------- */
@media (max-width: 781px) {
	.wp-block-group.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.racq-news-card--featured .racq-thumb-q { min-height: 200px; }
}
@media (max-width: 560px) {
	.wp-block-group.is-layout-grid:not(.racq-facts) { grid-template-columns: minmax(0, 1fr) !important; }
	.racq-header .racq-header-cta .wp-block-button__link { white-space: nowrap; }
	.racq-header .wp-block-site-logo img, .racq-header .racq-header-logo img { height: 40px; width: auto !important; }
}
@media (max-width: 781px) {
	.racq-stack > .racq-stack__card { min-height: 0; }
}

/* ---------- Reduced motion / editor ---------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
.editor-styles-wrapper .racq-stack > .racq-stack__card { position: relative; top: auto !important; }
.editor-styles-wrapper .racq-marquee__track { flex-wrap: wrap; width: auto; }

/* ---------- Additions: lists, map, league details ---------- */
h1, h2, h3 { overflow-wrap: normal; word-break: normal; hyphens: manual; }
.racq-hero-title { font-size: clamp(2.75rem, 5.6vw, 5rem) !important; }
/* Sections sit edge to edge, with no strips of background between them */
.wp-site-blocks > * + * { margin-block-start: 0; }
.wp-block-post-content > .alignfull { margin-block-start: 0 !important; margin-block-end: 0 !important; }
/* Gold Q in place of a missing news photo */
.racq-news-card .racq-thumb-q { aspect-ratio: 3 / 2; }
.racq-news-card--featured .racq-thumb-q { aspect-ratio: auto; height: 100%; min-height: 300px; }
.racq-news-card .racq-thumb-q a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
.racq-news-card .wp-block-post-featured-image.racq-thumb-q img { aspect-ratio: auto; object-fit: contain; width: auto; height: 46%; }
/* Form fields full width */
.racq-form .wpcf7-form-control-wrap { display: block; }
.racq-wednesdays label > span:first-child { display: inline-flex; align-items: center; }
.racq-wednesdays input { margin-top: 0; }
.racq-coming-up__list { list-style: none; margin: 0; padding: 0; }
.racq-coming-up__source a { color: inherit; }
.racq-league__division { margin: 0; font-weight: 600; }
.racq-league__label { font-family: var(--wp--preset--font-family--mono); font-size: 0.8125rem; letter-spacing: .06em; text-transform: uppercase; color: var(--wp--preset--color--muted); margin-right: .35em; }
.racq-league__where { color: var(--wp--preset--color--muted); }
.racq-league__lines p, .racq-league__card p { margin: 0; }
.racq-league__card .racq-kicker { color: var(--wp--preset--color--olive); }
.racq-map { border-radius: 22px; overflow: hidden; background: var(--wp--preset--color--surface); aspect-ratio: 4 / 3; }
.racq-map iframe { width: 100%; height: 100%; border: 0; display: block; }
.racq-rows > .wp-block-group > p:first-child { flex-shrink: 0; max-width: 45%; }
.racq-rows .racq-row-value { text-align: right; }
.racq-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
@media (max-width: 700px) { .racq-two { grid-template-columns: minmax(0, 1fr); } }
.racq-fieldset { border: 0; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.6rem; min-width: 0; }
.racq-fieldset legend { font-weight: 600; font-size: 1rem; padding: 0; margin-bottom: 0.6rem; }
.racq-form-note, .racq-form-small { display: block; color: var(--wp--preset--color--muted); font-size: 1rem; }
.racq-form-small { font-size: 0.9375rem; }
.racq-form-link { font-weight: 600; font-size: 1rem; }
.racq-wednesdays .racq-chip { font-weight: 400; }
.wp-block-image figcaption.wp-element-caption { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }

/* Big page headings on phones: shrink with the screen so long words such as
   "Wednesday" never run off the edge. */
@media (max-width: 560px) {
	.has-huge-font-size, .racq-hero-title { font-size: clamp(2rem, 11.5vw, 3.4rem) !important; }
}
@media (max-width: 560px) {
	.has-xx-large-font-size { font-size: clamp(1.75rem, 9.5vw, 2.5rem) !important; }
}
/* Long email addresses and links wrap rather than push the page sideways. */
.wp-block-post-content p, .wp-block-post-content li, .entry-content p, .entry-content li { overflow-wrap: break-word; }
