a[disabled] {
	pointer-events: none;
}

/* Banner Section Styles */
.banner-section {
	min-height: 600px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	position: relative;
}

/* Banner Layout Styles */
.banner-container {
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.position-unset {
	position: unset;
}

@media (min-width: 1675px) {
	.banner-container {
		flex-direction: row;
		gap: 31px;
	}

	.banner-slider {
		width: 933px;
		flex-shrink: 0;
	}

	.banner-sidebar {
		width: 657px;
		flex-shrink: 0;
	}
}

@media (min-width: 1300px) and (max-width: 1674px) {
	.banner-slider {
		width: 50%;
	}

	.banner-sidebar {
		width: 45%;
	}

	.banner-container {
		flex-direction: row;
		gap: 31px;
	}
}

@media (min-width: 1024px) and (max-width: 1300px) {
	.banner-sidebar-item {
		padding-top: 40px !important;
		padding-bottom: 40px !important;
	}
}

.single-content-wrapper p:last-of-type {
	margin-bottom: 0;
}

/* Custom Swiper Styles */
.banner-swiper {
	height: 100%;
	min-height: 400px;
}

.banner-swiper .swiper-slide {
	display: flex;
	align-items: center;
}

.banner-slider .banner-pagination {
	position: absolute;
	bottom: 24px;
	left: 24px;
	z-index: 10;
	display: flex;
	gap: 8px;
	display: none;
}

.banner-pagination .swiper-pagination-bullet {
	width: 6px;
	height: 6px;
	background: rgba(255, 255, 255, 0.4);
	opacity: 1;
	border-radius: 50%;
	transition: all 0.3s ease;
	cursor: pointer;
}

.banner-pagination .swiper-pagination-bullet-active {
	background: #ff0000 !important;
	border: unset !important;
}

.banner-pagination span.swiper-pagination-bullet {
	width: 13px;
	height: 13px;
	margin: 0 !important;
	background-color: #929292;
	border: 1px solid white;
}

.banner-button-prev {
	right: 56px;
}

.banner-button-prev::after,
.banner-button-next::after {
	content: unset;
}

/* Sticky Header Styles */
header {
	transition: all 0.3s ease;
	background: rgba(0, 0, 0, 0.95);
}

header.scrolled {
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
	background: rgba(0, 0, 0, 0.98);
}

/* Responsive adjustments */
@media (max-width: 768px) {
	.banner-swiper {
		min-height: initial;
	}

	.banner-pagination {
		bottom: 16px;
		left: 16px;
		gap: 6px;
	}

	.banner-pagination .swiper-pagination-bullet {
		width: 5px;
		height: 5px;
	}

	.banner-button-prev,
	.banner-button-next {
		bottom: 16px;
		width: 24px;
		height: 24px;
	}

	.banner-button-prev {
		right: 48px;
	}

	.banner-button-prev::after,
	.banner-button-next::after {
		font-size: 10px;
	}
}

.post-contact-info::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 2px;
	height: 100%;
	background-color: #FF0000;
}

.blog-post-date::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 2px;
	height: 100%;
	background-color: #000000;
	border-radius: 50px;
}

.blog-post-tag:first-of-type::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 2px;
	height: 100%;
	background-color: #ff0000;
	border-radius: 50px;
}

.blog-post-tag::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 2px;
	height: 100%;
	background-color: #ff0000;
	border-radius: 50px;
}

.blog-post-tag {
	margin-left: -3px;
}

.blog-post-tag:first-of-type {
	margin-left: 0;
}

.staff-sesignation {
	position: relative;
}

.staff-sesignation:after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 2px;
	height: 100%;
	background-color: #FF0000;
	border-radius: 10px;
}

.relative:has(+ .promotion-last-item) h3 {
	margin-bottom: 12px;
}

.ambassador-card .ambassador-card-item,
.ambassador-card .ambassador-card-item img {
	border-radius: 10px;
	overflow: hidden;
	background-position: top right;
	background-repeat: no-repeat;
	background-size: cover;
	width: auto;
	height: auto;
	padding-top: 22px;
	position: relative;
}

.ambassador-card .ambassador-card-item::after {
	content: "";
	position: absolute;
	right: 5px;
	top: 10px;
	width: 69px;
	height: 76px;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	background-image: url('/wp-content/uploads/2025/09/image00000041-1.png');
}

.ambassador-card .ambassador-card-item .ambassador-card-person-image {
	clip-path: polygon(85.025% 16.744%, 85.025% 16.744%, 85.205% 17.109%, 85.413% 17.444%, 85.648% 17.746%, 85.906% 18.014%, 86.186% 18.246%, 86.484% 18.44%, 86.798% 18.594%, 87.125% 18.706%, 87.463% 18.775%, 87.809% 18.798%, 96.845% 18.798%, 96.845% 18.798%, 97.357% 18.849%, 97.843% 18.996%, 98.295% 19.231%, 98.708% 19.546%, 99.076% 19.934%, 99.391% 20.385%, 99.648% 20.893%, 99.839% 21.449%, 99.959% 22.046%, 100% 22.674%, 100% 96.124%, 100% 96.124%, 99.959% 96.753%, 99.839% 97.349%, 99.648% 97.905%, 99.391% 98.413%, 99.076% 98.865%, 98.708% 99.252%, 98.295% 99.567%, 97.843% 99.802%, 97.357% 99.949%, 96.845% 100%, 3.155% 100%, 3.155% 100%, 2.643% 99.949%, 2.157% 99.802%, 1.705% 99.567%, 1.292% 99.252%, 0.924% 98.865%, 0.609% 98.413%, 0.352% 97.905%, 0.161% 97.349%, 0.041% 96.753%, 0% 96.124%, 0% 3.876%, 0% 3.876%, 0.041% 3.247%, 0.161% 2.651%, 0.352% 2.095%, 0.609% 1.587%, 0.924% 1.135%, 1.292% 0.748%, 1.705% 0.433%, 2.157% 0.198%, 2.643% 0.051%, 3.155% 0%, 75.873% 0%, 75.873% 0%, 76.22% 0.023%, 76.558% 0.092%, 76.885% 0.205%, 77.199% 0.359%, 77.497% 0.553%, 77.776% 0.785%, 78.035% 1.053%, 78.269% 1.355%, 78.478% 1.689%, 78.657% 2.054%, 85.025% 16.744%);
	width: 100%;
	height: initial;
}

/* ---------- Base Form ---------- */
.gform_wrapper form {
	display: flex;
	flex-direction: column;
	gap: 48px;
	width: 100%;
	max-width: 1070px;
	font-family: 'Barlow', sans-serif;
}

/* ---------- Headings ---------- */
.gform_wrapper h3 {
	margin-bottom: 30px;
	font-weight: 600;
	font-size: 18px;
}

/* ---------- Input & Textarea ---------- */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
	-webkit-background-clip: text;
	-webkit-text-fill-color: #000;
	-webkit-box-shadow: 0 0 0 30px rgba(0, 0, 0, 0.05) inset !important;
	transition: background-color 5000s ease-in-out 0s;
}

.gform_wrapper form input[type="text"],
.gform_wrapper form input[type="email"],
.gform_wrapper form input[type="radio"],
.gform_wrapper form input[type="tel"],
.gform_wrapper form input[type="checkbox"],
.gform_wrapper form textarea,
.gform_wrapper form select {
	border: 1px solid rgba(0, 0, 0, 0.1);
	background-color: rgba(0, 0, 0, 0.05);
	border-radius: 6px;
	outline: none;
	font-size: 14px !important;
	color: #000;
	font-family: 'Barlow', sans-serif;
}

/* Input / Textarea sizing */
.gform_wrapper form input[type="text"],
.gform_wrapper form input[type="email"],
.gform_wrapper form input[type="tel"],
.gform_wrapper form textarea,
.gform_wrapper form select {
	width: 100%;
	padding: 16px;
	height: 48px;
}

.gform_wrapper form textarea {
	resize: none;
	min-height: 90px;
}

/* Placeholder */
.gform_wrapper form input::placeholder,
.gform_wrapper form textarea::placeholder,
.gform_wrapper form select::placeholder {
	color: #333333 !important;
	font-size: 14px !important;
}

/* .gform_wrapper form #field_submit {
	justify-content: flex-end;
} */

.gform_wrapper form input[type="submit"] {
	padding-left: 31.44px;
	padding-right: 31.44px;
	height: 54px !important;
	max-height: initial !important;
	padding-top: 0.75rem;
	padding-bottom: 0.75rem;
	color: #fff !important;
	background-color: rgb(255 0 0) !important;
	border-width: 1px !important;
	border-color: transparent !important;
	border-radius: 0.5rem !important;
	font-family: 'Barlow', sans-serif !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 28px !important;
	text-decoration: uppercase !important;
}

.gform_wrapper form input[type="submit"]:hover {
	background-color: #000 !important;
	border-color: #fff !important;
	border-width: 1px !important;
}

.gform_wrapper form input[type="radio"]::checked,
.gform_wrapper form input[type="checkbox"]::checked {
	border-color: #ff0200 !important;
}

.gform_wrapper form input[type="radio"]::before {
	background-color: #ff0200;
	width: 12px;
	height: 12px;
}

.gform_wrapper form input[type="checkbox"]::before {
	color: #ff0200 !important;
}

.gform_wrapper form .ginput_address_zip input {
	margin-bottom: 0 !important;
}

/* ---------- Layout Helpers ---------- */
.form-row {
	display: flex;
	flex-direction: row;
	gap: 30px;
}

.form-column {
	display: flex;
	flex-direction: column;
	gap: 30px;
}

/* ---------- Radio & Checkbox ---------- */
.gform_wrapper form input[type="radio"],
.gform_wrapper form input[type="checkbox"] {
	width: 20px;
	height: 20px;
}

.gform_wrapper form label,
.gform_wrapper form legend {
	font-family: 'Barlow' !important;
	display: flex;
	align-items: center;
	gap: 8px;
	font-weight: 600 !important;
	font-size: 16px !important;
	color: #08090D;
	margin-bottom: 30px !important;
}

.gform_wrapper form .gchoice label {
	font-weight: 500 !important;
}

/* ---------- Select ---------- */
.select-wrapper {
	position: relative;
	width: 100%;
}

.select-wrapper select {
	appearance: none;
}

.select-wrapper .select-icon {
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
	color: #000;
	font-size: 14px;
}

.gform_fields {
	column-gap: 30px !important;
}

.coacho_hidden_form_field label {
	visibility: hidden !important;
}

h2.gform_title {
	display: none !important;
}

.default_hide_fields label {
	display: none !important;
}

.gfield_radio .gchoice input {
	background: transparent !important;
	border: 1px solid black !important;
	border-radius: 30px !important;
}

.default_hide_fields_spacing input {
	margin-bottom: 30px !important;
}

.ginput_container_address {
	row-gap: 0 !important;
}

.gform_wrapper.gform_confirmation_wrapper .gform_confirmation_message {
	font-family: 'Barlow', sans-serif !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 40px !important;
    max-width: 500px;
}

.gform_wrapper form .gform-footer  {
	margin-top: 0;
}

.custom_html_block {
	grid-column: span 12 !important;
}

#field_2_15 .gform-field-label {
	display: none !important;
}

#field_3_15 .gform-field-label {
	display: none !important;
}

.border-ff-black {
	border: 1px solid #000000;
}



/* ---------- Responsive ---------- */

@media (min-width: 640px) {
.address_zip.ginput_address_zip {
	padding-left: 15px !important;
}

.gfield--type-address .address_city {
	padding-left: 15px !important;
}

.address_line_1.ginput_address_line_1 {
	inline-size: 50% !important;
	    padding-right: 15px !important;
}

.gfield--type-address .address_state {
	padding-right: 15px !important;
}


}

@media (min-width: 768px) {
	.gform_wrapper form input[type="text"],
	.gform_wrapper form input[type="email"],
	.gform_wrapper form input[type="tel"],
	.gform_wrapper form textarea,
	.gform_wrapper form select {
		padding: 8px 20px;
		height: 57px;
	}

	.gform_wrapper form textarea {
		min-height: 108px;
	}

	.gform_wrapper form input[type="radio"],
	.gform_wrapper form input[type="checkbox"] {
		width: 24px;
		height: 24px;
	}

	.gform_wrapper form label,
	.gform_wrapper form legend {
		font-size: 18px !important;
	}
}

@media (max-width: 639px) {
	.gform_wrapper form .gform_body {
		row-gap: 30px;
	}

	.gform_wrapper form .gform_body .gform_fields {
		display: flex !important;
		flex-direction: column !important;
	}

	.coacho_hidden_form_field label,
	.gform_wrapper form .gform_body .coacho_hidden_form_field .gfield_label {
		display: none !important;
	}

	.gfield--type-address .address_city {
		padding-right: 8px !important;
	}

	.gfield--type-address .address_state {
		padding-left: 5px !important;
		margin-bottom: 30px;
	}

	.gform_wrapper form label,
	.gform_wrapper form legend {
		margin-bottom: 15px !important;
	}
}

/* Speedy Sto' rankings carousel (Swiper pagination) */
.rankings-pagination.swiper-pagination-bullets {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px;
}
.rankings-pagination .swiper-pagination-bullet {
	width: 10px;
	height: 10px;
	background: #08090d;
	opacity: 0.35;
}
.rankings-pagination .swiper-pagination-bullet-active {
	opacity: 1;
	background: #dc2626;
}

/* Rankings carousel: lightbox.
   z-index sits above the site header (50 sticky / 9999 pinned) and the WP admin
   bar (99999) — rankings-carousel.js also re-parents #rankings-lightbox to <body>
   so it escapes <main>'s stacking context (main has position:relative; z-index:1). */
.rankings-lightbox {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: none;
}
.rankings-lightbox.is-open {
	display: block;
	min-height: 100vh;
	min-height: 100dvh;
	box-sizing: border-box;
	padding-top: env(safe-area-inset-top, 0px);
	padding-bottom: env(safe-area-inset-bottom, 0px);
	padding-left: env(safe-area-inset-left, 0px);
	padding-right: env(safe-area-inset-right, 0px);
}
.rankings-lightbox-inner {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: calc(100dvh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
	min-height: calc(100vh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
	width: 100%;
	max-width: 100%;
	padding: 0.75rem;
	box-sizing: border-box;
}
@media (min-width: 640px) {
	.rankings-lightbox-inner {
		padding: 1rem;
	}
}
body.rankings-lightbox-open {
	overflow: hidden;
}

.rankings-lightbox-close.rankings-lightbox-ui {
	top: max(0.75rem, env(safe-area-inset-top, 0px));
	right: max(0.75rem, env(safe-area-inset-right, 0px));
}

.rankings-lightbox-prev.rankings-lightbox-nav {
	left: max(0.5rem, env(safe-area-inset-left, 0px));
}

.rankings-lightbox-next.rankings-lightbox-nav {
	right: max(0.5rem, env(safe-area-inset-right, 0px));
}

.rankings-lightbox-swiper {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	min-height: min(50vh, 360px);
}
.rankings-lightbox-swiper .swiper-slide {
	box-sizing: border-box;
	min-width: 0;
}

.speedy-sto-rankings .rankings-swiper .swiper-slide {
	min-width: 0;
	height: auto;
}

.rankings-disclaimer {
	overflow-wrap: anywhere;
	word-wrap: break-word;
}

/* -----------------------------------------------------------------------------
   Coach O — block templates (FSE): header & shell
   ----------------------------------------------------------------------------- */

/* Reserve scrollbar space so locking body scroll (mobile nav) does not shift layout. */
html {
	scrollbar-gutter: stable;
}

.coach-o-header-combine {
	overflow: visible;
	position: relative;
}

/* Sticky lives on the outer <header class="wp-block-template-part"> so its
   sticking parent is .wp-site-blocks (full document height), not the inner
   shell wrapper which would only stick within its own short box. */
body > .wp-site-blocks > header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 50;
}

/* Below 1024px sticky was unreliable (some ancestor overflow/transform was
   defeating it). Pin the header with position:fixed and reserve the height
   on the body so content isn't pulled under the header. Mobile header =
   .coach-o-mobile-toolbar (min-height 64px + 1rem vertical padding) ≈ 80px. */
@media (max-width: 1023px) {
	body > .wp-site-blocks > header.wp-block-template-part {
		position: fixed !important;
		top: 0;
		left: 0;
		right: 0;
		width: 100%;
		z-index: 9999;
		/* Solid black on the OUTER header so any sub-pixel gap above the
		   inner .coach-o-header-main (or any future sibling) doesn't leak
		   page content through while scrolling. */
		background-color: #000 !important;
	}

	/* Force 80px reservation on body even when WP's own admin-bar CSS at
	   <=600px sets body.admin-bar { padding-top: 46 } via specificity.
	   Match WP's body.admin-bar specificity so our !important wins. */
	body,
	body.admin-bar {
		padding-top: 80px !important;
	}
}

/* Admin-bar offsets only apply where WP's admin bar is position:fixed
   (sticky). At <=600px WP switches the admin bar to position:absolute
   so it scrolls away with the page — leaving a 46px empty strip above
   any header that's been offset by 46px. Don't apply the offset there;
   keep the header pinned to viewport top and let the admin bar visually
   overlap it at scroll 0 (admin bar z-index 99999 > our 9999). */

@media (min-width: 783px) and (max-width: 1023px) {
	body.admin-bar > .wp-site-blocks > header.wp-block-template-part {
		top: 32px;
	}
}

@media (min-width: 601px) and (max-width: 782px) {
	body.admin-bar > .wp-site-blocks > header.wp-block-template-part {
		top: 46px;
	}
}

.coach-o-header-shell {
	overflow: visible;
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif !important;
}

.coach-o-announcement {
	position: relative;
	z-index: 2;
	background-color: #000000 !important;
	display: block;
	border-bottom: 1px solid var(--wp--preset--color--border-gray) !important;
}

/* Live: top strip is hidden below lg (< 1024px). */
@media only screen and (max-width: 1023px) {
	.coach-o-announcement {
		display: none !important;
	}
}

.coach-o-announcement,
.coach-o-announcement p,
.coach-o-announcement a,
.coach-o-announcement strong,
.coach-o-announcement-inner,
.coach-o-announcement .coach-o-announce-connect p {
	font-family: var(--wp--preset--font-family--unbounded), "Unbounded", sans-serif !important;
	font-weight: 700 !important;
	font-style: normal;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

@media only screen and (min-width: 1024px) {
	.coach-o-announcement-inner {
		flex-direction: row !important;
		flex-wrap: nowrap;
		justify-content: space-between !important;
		align-items: center !important;
		text-align: left !important;
	}

	/*
	 * Tagline column must NOT use min-width:0 with flex-shrink allowed (collapsed entire left side to invisible).
	 */
	.coach-o-announcement-inner > p:first-of-type {
		flex: 0 0 auto;
		min-width: min(260px, 28vw);
		max-width: min(620px, calc(100% - 19rem));
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.coach-o-announce-connect {
		justify-content: flex-end !important;
		align-items: center;
		flex-shrink: 0;
	}

	.coach-o-announcement-inner > p,
	.coach-o-announcement-inner .has-text-align-center {
		text-align: left !important;
	}
}

.coach-o-announcement a {
	text-decoration: none;
}

.coach-o-announcement a:hover {
	opacity: 0.65;
}

.coach-o-announcement-inner {
	max-width: min(1652px, 100%);
	margin-left: auto;
	margin-right: auto;
}

.coach-o-header-main {
	background-color: #000000 !important;
	position: relative;
	z-index: 10;
	border-bottom: 1px solid var(--wp--preset--color--border-gray);
	padding: 0 !important;
	margin: 0 !important;
}

/* Global styles (theme.json) add margin-block-start on .is-layout-flow > * — strip in header only */
.coach-o-header-shell .coach-o-header-combine > .coach-o-header-main,
.coach-o-header-shell .coach-o-header-main.is-layout-flow > *,
.coach-o-header-shell .coach-o-header-inner > *,
.coach-o-header-shell .coach-o-mobile-toolbar.is-layout-flow > *,
.coach-o-header-shell .coach-o-mobile-toolbar > *,
.coach-o-header-shell .coach-o-desktop-grid > *,
.coach-o-header-shell .coach-o-desktop-grid.is-layout-flow > *,
.coach-o-header-shell .coach-o-nav-left-wrap.is-layout-flow > *,
.coach-o-header-shell .coach-o-nav-right-wrap.is-layout-flow > * {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}

.coach-o-announce-connect .coach-o-announce-social,
.coach-o-announce-connect .coach-o-announce-social .wp-social-link {
	margin: 0;
}

.coach-o-announce-connect .coach-o-announce-social {
	gap: 0.625rem;
}

.coach-o-announce-connect .coach-o-announce-social.wp-block-social-links {
	color: #ffffff !important;
}

.coach-o-announce-connect .coach-o-announce-social a.wp-block-social-link-anchor {
	color: #ffffff !important;
	min-width: 28px;
	min-height: 28px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.coach-o-announce-connect .coach-o-announce-social a.wp-block-social-link-anchor svg {
	width: 24px;
	height: 24px;
	box-sizing: content-box;
}

.coach-o-announce-connect .coach-o-announce-social a.wp-block-social-link-anchor svg path {
	fill: currentColor;
}

/* X/Twitter glyphs may use rects in some core SVG revisions */
.coach-o-announce-connect .coach-o-announce-social a.wp-block-social-link-anchor svg *,
.coach-o-announce-connect .coach-o-announce-social a.wp-block-social-link-anchor svg {
	color: inherit;
}

.coach-o-header-inner {
	position: relative;
	overflow: visible;
	padding: 0.5rem 0;
}

@media only screen and (min-width: 1024px) {
	.coach-o-header-inner > .coach-o-header-logo-desktop {
		display: block;
	}
}

/* Mobile + tablet (<1024px): black bar (hamburger left + centered logo) with full-width drop-down panel */
.coach-o-mobile-toolbar {
	display: block;
	position: relative;
	min-height: 64px;
	padding: 0.5rem 0;
}

@media only screen and (min-width: 1024px) {
	.coach-o-mobile-toolbar {
		display: none !important;
	}
}

@media only screen and (max-width: 1023px) {
	.coach-o-header-inner {
		max-width: 100% !important;
		width: 100%;
		box-sizing: border-box;
		padding: 0 1rem;
	}

	.coach-o-header-main {
		overflow: visible;
		position: relative;
	}

	.coach-o-header-inner > .coach-o-header-logo-desktop {
		display: none !important;
	}

	/* Nav block flows in toolbar; only the hamburger button is absolute-pinned to the bar */
	.coach-o-mobile-toolbar .coach-o-nav-mobile.wp-block-navigation {
		position: static !important;
		width: auto !important;
		min-width: 0;
		margin: 0 !important;
	}

	/* Closed-state container (whether nested in nav or relocated as toolbar child).
	   Keep position:static so it doesn't fight WP's hidden state. */
	.coach-o-mobile-toolbar .wp-block-navigation__responsive-container {
		position: static !important;
	}

	/* Hamburger button — absolute pinned left, vertically centered on the bar */
	.coach-o-mobile-toolbar .wp-block-navigation__responsive-container-open {
		position: absolute !important;
		left: 1rem;
		top: 50%;
		transform: translateY(-50%) !important;
		z-index: 30;
		box-sizing: border-box;
		outline: none;
		width: 2.25rem;
		height: 2.25rem;
		padding: 0;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		border: 1px solid #4b5563;
		border-radius: 0.375rem;
		background: transparent;
		color: #ffffff;
		overflow: visible;
	}

	.coach-o-mobile-toolbar .wp-block-navigation__responsive-container-open:hover,
	.coach-o-mobile-toolbar .wp-block-navigation__responsive-container-open:focus-visible {
		color: var(--wp--preset--color--coach-red);
	}

	/* Closed state: hide SVG, draw 3-bar hamburger via ::before.
	   Drives off [aria-expanded] on the button itself (set by JS) since the
	   drawer is no longer inside .coach-o-nav-mobile after relocation. */
	.coach-o-mobile-toolbar .wp-block-navigation__responsive-container-open[aria-expanded="false"] svg,
	.coach-o-mobile-toolbar .wp-block-navigation__responsive-container-open:not([aria-expanded="true"]) svg {
		display: none !important;
	}

	.coach-o-mobile-toolbar .wp-block-navigation__responsive-container-open[aria-expanded="false"]::before,
	.coach-o-mobile-toolbar .wp-block-navigation__responsive-container-open:not([aria-expanded="true"])::before {
		content: "";
		position: absolute;
		left: 50%;
		top: 50%;
		width: 1.125rem;
		height: 2px;
		margin-top: -7px;
		margin-left: -0.5625rem;
		background-color: currentColor;
		border-radius: 1px;
		box-shadow: 0 6px 0 currentColor, 0 12px 0 currentColor;
		pointer-events: none;
	}

	/* Open state: show SVG (X icon), hide bars */
	.coach-o-mobile-toolbar .wp-block-navigation__responsive-container-open[aria-expanded="true"]::before {
		content: none;
	}

	.coach-o-mobile-toolbar .wp-block-navigation__responsive-container-open[aria-expanded="true"] svg {
		display: block !important;
		width: 1.5rem;
		height: 1.5rem;
		flex-shrink: 0;
	}

	.coach-o-mobile-toolbar .wp-block-navigation__responsive-container-open svg,
	.coach-o-mobile-toolbar .wp-block-navigation__responsive-container-open svg path,
	.coach-o-mobile-toolbar .wp-block-navigation__responsive-container-open svg rect {
		fill: currentColor;
	}

	/* Hide WP's in-dialog floating close button — same hamburger toggles open/close */
	.coach-o-mobile-drawer .wp-block-navigation__responsive-dialog__close-button-container,
	.coach-o-mobile-toolbar .wp-block-navigation__responsive-dialog__close-button-container {
		display: none !important;
	}

	/* Hide WP's empty responsive-close click-away div (was rendering as an empty box) */
	.coach-o-mobile-drawer .wp-block-navigation__responsive-close,
	.coach-o-mobile-toolbar .wp-block-navigation__responsive-close {
		display: none !important;
	}

	/* Centered logo — in flow, allowed to overhang below the bar */
	.coach-o-mobile-logo-slot {
		display: flex;
		justify-content: center;
		align-items: flex-start;
		padding: 0;
		position: relative;
		z-index: 5;
	}

	.coach-o-mobile-logo-slot .wp-block-site-logo {
		position: relative;
		z-index: 5;
	}

	.coach-o-mobile-logo-slot .wp-block-site-logo img,
	.coach-o-mobile-logo-slot img {
		display: block;
		width: auto;
		height: auto;
		margin-inline: auto;
		max-width: 90px;
	}

	/* Closed state: drawer is hidden completely. */
	.coach-o-header-main > .coach-o-mobile-drawer:not(.is-menu-open) {
		display: none !important;
	}

	/* Drop-down panel — JS relocates the WP responsive-container out of the nav
	   block to be a direct child of .coach-o-header-main (full viewport width,
	   no horizontal padding, position:relative). Drawer is position:absolute
	   with left:0; right:0 — clean full-width drop-down, no vw math.
	   Mirrors legacy #mobile-menu structure exactly. */
	.coach-o-header-main > .coach-o-mobile-drawer.is-menu-open {
		display: block !important;
		position: absolute !important;
		top: 100% !important;
		right: 0 !important;
		bottom: auto !important;
		left: 0 !important;
		inset: auto !important;
		width: auto !important;
		max-width: 100vw !important;
		min-width: 0 !important;
		height: auto !important;
		max-height: calc(100vh - 100px) !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow-y: auto !important;
		overflow-x: hidden !important;
		z-index: 60 !important;
		background-color: #000000 !important;
		border-top: 1px solid var(--wp--preset--color--border-gray, #777);
		box-shadow: 0 8px 16px rgba(0, 0, 0, 0.18);
	}

	/* Dialog inside the open container — pass-through (no extra width/padding). */
	.coach-o-header-main > .coach-o-mobile-drawer.is-menu-open .wp-block-navigation__responsive-dialog,
	.coach-o-header-main > .coach-o-mobile-drawer.is-menu-open .wp-block-navigation__responsive-dialog[hidden] {
		display: block !important;
		position: static !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		background: transparent !important;
		visibility: visible !important;
		opacity: 1 !important;
		pointer-events: auto !important;
	}

	.coach-o-header-main > .coach-o-mobile-drawer.is-menu-open .wp-block-navigation__responsive-container-content {
		display: flex !important;
	}

	.coach-o-header-main > .coach-o-mobile-drawer.is-menu-open .wp-block-navigation__container {
		display: flex !important;
	}

	/* Stacked vertical menu list inside the panel */
	.coach-o-mobile-drawer .wp-block-navigation__responsive-container-content {
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 1rem !important;
		width: 100%;
		padding: 1rem !important;
		box-sizing: border-box;
	}

	.coach-o-mobile-drawer .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 1rem !important;
		width: 100%;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.coach-o-mobile-drawer .wp-block-navigation__responsive-container-content .wp-block-navigation-item {
		width: 100%;
		margin: 0;
		padding: 0;
		text-align: left;
	}

	.coach-o-mobile-drawer .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content {
		display: block;
		padding: 0;
		font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif !important;
		font-weight: 700;
		font-size: 1rem;
		letter-spacing: 0.06em;
		text-transform: uppercase;
		color: #ffffff !important;
		background: transparent !important;
		border: none !important;
		border-radius: 0;
		text-decoration: none !important;
	}

	.coach-o-mobile-drawer .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content:hover {
		color: var(--wp--preset--color--coach-red) !important;
	}

	/* Current-page item in red */
	.coach-o-mobile-drawer .wp-block-navigation__responsive-container-content .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content,
	.coach-o-mobile-drawer .wp-block-navigation__responsive-container-content .wp-block-navigation-item--current > .wp-block-navigation-item__content,
	.coach-o-mobile-drawer .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content[aria-current="page"] {
		color: var(--wp--preset--color--coach-red) !important;
	}

	/* CONTACT US — full-width red button at the bottom of the panel */
	.coach-o-mobile-drawer .wp-block-navigation__responsive-container-content .coach-o-nav-contact {
		margin-top: 0.5rem;
		width: 100%;
		align-self: stretch;
		text-align: center;
	}

	.coach-o-mobile-drawer .wp-block-navigation__responsive-container-content .coach-o-nav-contact .wp-block-navigation-item__content {
		display: block;
		width: 100%;
		box-sizing: border-box;
		background: var(--wp--preset--color--coach-red) !important;
		color: #ffffff !important;
		border: none !important;
		border-radius: 0.5rem;
		padding: 0.875rem 1rem;
		text-align: center;
	}

	.coach-o-mobile-drawer .wp-block-navigation__responsive-container-content .coach-o-nav-contact .wp-block-navigation-item__content:hover {
		color: #ffffff !important;
		filter: brightness(1.1);
	}

	/* Drop-down design has no scrim — kill any legacy backdrop */
	body.coach-o-mobile-nav-open .coach-o-mobile-nav-backdrop {
		display: none !important;
	}
}

/* Narrow phones */
@media only screen and (max-width: 820px) {
	.coach-o-header-inner {
		padding: 0 1rem;
	}

	.coach-o-header-main {
		min-height: 56px;
	}

	.coach-o-mobile-toolbar {
		min-height: 56px;
		padding: 0;
	}

	.coach-o-mobile-logo-slot .wp-block-site-logo img,
	.coach-o-mobile-logo-slot img {
		max-width: 110px;
		transform: scale(1.3);
		margin-top: 10px;
	}
}

/* Tablet logo size bumps */
@media only screen and (max-width: 1023px) and (min-width: 640px) {
	.coach-o-mobile-logo-slot .wp-block-site-logo img,
	.coach-o-mobile-logo-slot img {
		max-width: 100px;
	}
}

@media only screen and (max-width: 1023px) and (min-width: 768px) {
	.coach-o-mobile-logo-slot .wp-block-site-logo img,
	.coach-o-mobile-logo-slot img {
		max-width: 110px;
	}
}

.coach-o-desktop-grid {
	display: none;
}

/*
 * Coach O header — desktop (lg+). Peer @media only screen blocks (do not nest @media inside the lg block).
 * Downscale hooks — add declarations when needed:
 *   @media only screen and (max-width: 1440px) { }
 * Logo lift (top: -56px): @media only screen and (min-width: 1600px) below
 */
@media only screen and (min-width: 1024px) {
	.coach-o-header-inner {
		max-width: min(1620px, 100%);
		margin-inline: auto;
		/* Matches header.php inner: max-w-[1620px] mx-auto px-4 */
		padding-inline: 1rem;
		padding-block: 0;
	}

	/*
	 * Live: symmetric nav columns — equal flex basis so center (logo anchor at 50%) matches midpoint
	 * between left cluster (start-aligned) and right cluster (end-aligned).
	 */
	.coach-o-desktop-grid {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		justify-content: space-between;
		align-items: center;
		gap: 0;
		padding-inline: 0;
		/* header.php main row: md:py-4 (horizontal padding comes from .coach-o-header-inner px-4) */
		padding-block: 1rem;
		position: relative;
		overflow: visible;
		min-height: auto;
	}

	.coach-o-nav-left-wrap,
	.coach-o-nav-right-wrap {
		flex: 1 1 0%;
		min-width: 0;
		padding-top: 0;
		display: flex;
		align-items: center;
	}

	.coach-o-nav-left-wrap {
		justify-content: flex-start;
	}

	.coach-o-nav-right-wrap {
		justify-content: flex-end;
	}

	.coach-o-nav-left-wrap .wp-block-navigation,
	.coach-o-nav-right-wrap .wp-block-navigation {
		width: 100% !important;
		max-width: 100%;
	}

	.coach-o-desktop-grid .coach-o-nav-left-wrap .wp-block-navigation__responsive-container,
	.coach-o-desktop-grid .coach-o-nav-right-wrap .wp-block-navigation__responsive-container {
		width: 100% !important;
		min-width: 0;
	}

	/* Front may insert wrappers — link gaps via peer @media blocks below */
	.coach-o-nav-left-wrap .wp-block-navigation__container,
	.coach-o-nav-desktop-left .wp-block-navigation__container {
		justify-content: flex-start !important;
		align-items: center;
		flex-wrap: nowrap;
		row-gap: 0;
	}

	.coach-o-nav-right-wrap .wp-block-navigation__container,
	.coach-o-nav-desktop-right .wp-block-navigation__container {
		justify-content: flex-end !important;
		align-items: center;
		flex-wrap: nowrap;
		row-gap: 0;
	}

	.coach-o-header-inner > .coach-o-header-logo-slot {
		position: absolute;
		left: 50%;
		top: 0;
		flex-shrink: 0;
		transform: translateX(-50%);
		z-index: 10;
		width: auto;
		min-width: min(120px, 24vw);
		margin: 0;
		padding-inline: 0 !important;
		pointer-events: auto;
	}

	.coach-o-header-inner > .coach-o-header-logo-slot .wp-block-site-logo {
		flex-shrink: 0;
	}

	.coach-o-header-inner > .coach-o-header-logo-slot .wp-block-site-logo img,
	.coach-o-header-inner > .coach-o-header-logo-slot img {
		display: block;
		width: auto;
		flex-shrink: 0;
		max-width: 111px;
		height: auto;
		margin-inline: auto;
	}

	.coach-o-nav-desktop-right .coach-o-nav-contact {
		margin-inline-start: 0 !important;
	}

	.coach-o-nav-desktop-right .coach-o-nav-contact .wp-block-navigation-item__content {
		width: auto !important;
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		min-height: 44px;
		padding: 0 2rem !important;
		border: 1px solid transparent;
		box-sizing: border-box;
	}
}

/* Desktop nav link gaps */
@media only screen and (min-width: 1024px) and (max-width: 1365px) {
	.coach-o-nav-left-wrap .wp-block-navigation > .wp-block-navigation__container,
	.coach-o-nav-right-wrap .wp-block-navigation > .wp-block-navigation__container,
	.coach-o-nav-left-wrap .wp-block-navigation__container,
	.coach-o-nav-desktop-left .wp-block-navigation__container,
	.coach-o-nav-right-wrap .wp-block-navigation__container,
	.coach-o-nav-desktop-right .wp-block-navigation__container {
		gap: 3.5rem !important;
		column-gap: 3.5rem !important;
	}
}

@media only screen and (min-width: 1366px) and (max-width: 1536px) {
	.coach-o-nav-left-wrap .wp-block-navigation > .wp-block-navigation__container,
	.coach-o-nav-right-wrap .wp-block-navigation > .wp-block-navigation__container,
	.coach-o-nav-left-wrap .wp-block-navigation__container,
	.coach-o-nav-desktop-left .wp-block-navigation__container,
	.coach-o-nav-right-wrap .wp-block-navigation__container,
	.coach-o-nav-desktop-right .wp-block-navigation__container {
		gap: 1.5rem !important;
		column-gap: 1.5rem !important;
	}
}

@media only screen and (min-width: 1537px) {
	.coach-o-nav-left-wrap .wp-block-navigation > .wp-block-navigation__container,
	.coach-o-nav-right-wrap .wp-block-navigation > .wp-block-navigation__container,
	.coach-o-nav-left-wrap .wp-block-navigation__container,
	.coach-o-nav-desktop-left .wp-block-navigation__container,
	.coach-o-nav-right-wrap .wp-block-navigation__container,
	.coach-o-nav-desktop-right .wp-block-navigation__container {
		gap: 4.5rem !important;
		column-gap: 4.5rem !important;
	}
}

/*
 * ~1080px-wide layouts (desktop nav visible): tighter link gaps + CONTACT horizontal padding.
 * Placed after broader gap rules so it wins for 1024–1080.
 */
@media only screen and (min-width: 1024px) and (max-width: 1080px) {
	.coach-o-nav-left-wrap .wp-block-navigation > .wp-block-navigation__container,
	.coach-o-nav-right-wrap .wp-block-navigation > .wp-block-navigation__container,
	.coach-o-nav-left-wrap .wp-block-navigation__container,
	.coach-o-nav-desktop-left .wp-block-navigation__container,
	.coach-o-nav-right-wrap .wp-block-navigation__container,
	.coach-o-nav-desktop-right .wp-block-navigation__container {
		gap: 0.7rem !important;
		column-gap: 0.7rem !important;
	}

	.coach-o-nav-desktop-right .coach-o-nav-contact .wp-block-navigation-item__content {
		width: auto !important;
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		min-height: 44px;
		padding: 0 0.8rem !important;
		border: 1px solid transparent;
		box-sizing: border-box;
	}
}

/* Logo: vertical lift into announcement strip from 1200px+ */
@media only screen and (min-width: 1200px) {
	.coach-o-header-inner > .coach-o-header-logo-slot {
		top: -56px;
		transform: translateX(-50%);
	}
}

@media only screen and (min-width: 1280px) and (max-width: 1535px) {
	.coach-o-header-inner > .coach-o-header-logo-slot .wp-block-site-logo img,
	.coach-o-header-inner > .coach-o-header-logo-slot img {
		max-width: 141px;
	}
}

@media only screen and (min-width: 1536px) {
	.coach-o-header-inner > .coach-o-header-logo-slot .wp-block-site-logo img,
	.coach-o-header-inner > .coach-o-header-logo-slot img {
		max-width: 241px;
	}
}

@media only screen and (min-width: 1280px) {
	.coach-o-nav-desktop-right .coach-o-nav-contact .wp-block-navigation-item__content {
		min-height: 54px;
	}
}



.coach-o-home-hero-stage {
	position: relative;
	background-color: #0a0a0a;
	background-image:
		url(../images/tarck-banner-bg.png),
		linear-gradient(180deg, rgba(17, 17, 17, 0.35) 0%, rgba(10, 10, 10, 0.9) 100%);
	background-size:
		cover,
		auto;
	background-position: center center;
	background-repeat: no-repeat;
}

.coach-o-home-features-wrap {
	background-color: #080808;
	background-image:
		url(../images/banner-bg.png),
		radial-gradient(circle at 50% 0%, rgba(80, 0, 0, 0.15) 0%, transparent 55%);
	background-repeat: no-repeat;
	background-position: center top;
	background-size: auto;
}

@media (max-width: 781px) {
	.coach-o-home-features-wrap {
		padding-left: clamp(1rem, 4vw, 1.25rem);
		padding-right: clamp(1rem, 4vw, 1.25rem);
		padding-bottom: clamp(2rem, 6vw, 3rem);
	}
}

.coach-o-home-feature-card {
	box-sizing: border-box;
	min-height: 100%;
	padding: clamp(1.25rem, 3vw, 1.65rem);
	border-radius: 14px;
	border: 1px solid rgba(255, 255, 255, 0.35);
	background: linear-gradient(180deg, #d40000 0%, #8e0000 78%, #6a0000 100%);
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
}

.coach-o-home-feature-card h3 {
	margin-top: 0;
}

.coach-o-home-feature-card p {
	color: #fff;
}

.coach-o-learn-more-link a {
	color: #fff;
	font-weight: 700;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.coach-o-learn-more-link a:hover {
	text-decoration: underline;
}

.coach-o-learn-more-link a::after {
	content: "";
	display: inline-block;
	margin-left: 0.45em;
	width: 0;
	height: 0;
	vertical-align: middle;
	border-style: solid;
	border-width: 0.32em 0 0.32em 0.55em;
	border-color: transparent transparent transparent #ffffff;
}

.coach-o-home-hero-stage::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background: radial-gradient(circle at 50% -20%, rgba(204, 0, 0, 0.12) 0%, transparent 52%);
	pointer-events: none;
}

.coach-o-footer-shell {
	position: relative;
	background-color: var(--wp--preset--color--coach-black);
	background-image: url(../images/Footer-bg.png);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	color: var(--wp--preset--color--white);
	padding-top: 30px;
}

@media (min-width: 768px) {
	.coach-o-footer-shell {
		padding-top: 60px;
	}
}

.coach-o-footer-shell::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background: linear-gradient(180deg, rgba(17, 17, 17, 0.35) 0%, rgba(8, 8, 8, 0.78) 100%);
}

.coach-o-footer-shell .coach-o-footer-visual {
	position: relative;
	z-index: 1;
}

.coach-o-footer-shell .coach-o-footer-inner {
	box-sizing: border-box;
	max-width: 1652px;
	margin-left: auto;
	margin-right: auto;
	padding-inline: clamp(1rem, 4vw, 2rem);
	margin-bottom: 0;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	color: inherit;
	gap: 0;
	width: 100%;
}

.coach-o-footer-shell .coach-o-footer-logo-wrap {
	flex: 0 0 auto;
	margin-inline: auto;
	width: 172px;
	max-width: 100%;
	justify-content: center;
}

.coach-o-footer-logo-wrap .coach-o-footer-default-logo img {
	width: 172px;
	height: 180px;
	max-width: min(172px, 88vw);
	display: block;
	object-fit: contain;
	box-sizing: border-box;
}

.coach-o-footer-logo-wrap .coach-o-footer-default-logo a {
	display: block;
	line-height: 0;
	text-decoration: none;
}

.coach-o-footer-shell .coach-o-footer-inner > .coach-o-footer-live-nav.wp-block-navigation,
.coach-o-footer-shell .coach-o-footer-inner > nav.wp-block-navigation {
	width: 100%;
	max-width: 100%;
}

.coach-o-footer-shell nav.coach-o-footer-live-nav {
	box-sizing: border-box;
	padding-block: 30px;
	margin-block: 0 !important;
}

@media (min-width: 768px) {
	.coach-o-footer-shell nav.coach-o-footer-live-nav {
		padding-block: 60px;
	}
}

/* Live site: lg space-x-8 (2rem), md space-x-10 (2.5rem), ~91px wide screens */
.coach-o-footer-shell .coach-o-footer-live-nav .wp-block-navigation__container,
.coach-o-footer-shell .coach-o-footer-live-nav ul.wp-block-navigation__container {
	column-gap: clamp(0.625rem, 3.5vw, 5.6875rem) !important;
	row-gap: 10px !important;
	justify-content: center !important;
}

@media (min-width: 768px) {
	.coach-o-footer-shell .coach-o-footer-live-nav .wp-block-navigation__container,
	.coach-o-footer-shell .coach-o-footer-live-nav ul.wp-block-navigation__container {
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		row-gap: 0 !important;
		column-gap: clamp(2rem, 4vw, 5.6875rem) !important;
		align-items: flex-start !important;
	}

	.coach-o-footer-shell .coach-o-footer-live-nav .wp-block-navigation-item {
		flex: 0 1 auto;
		/* default min-width: auto = min-content keeps each item at least the longest word */
	}

	.coach-o-footer-shell .coach-o-footer-live-nav .wp-block-navigation-item__content,
	.coach-o-footer-shell .coach-o-footer-live-nav .wp-block-navigation-item__label {
		white-space: normal;
		word-break: normal;
		overflow-wrap: normal;
		text-align: left;
		line-height: 1.2;
	}
}

/* Tablet (768–1023): tighten font + gaps so all six items fit on a single line */
@media (min-width: 768px) and (max-width: 1023px) {
	.coach-o-footer-shell .coach-o-footer-live-nav .wp-block-navigation-item__content {
		font-size: clamp(0.75rem, 1.6vw, 0.9375rem) !important;
		letter-spacing: 0.04em !important;
	}

	.coach-o-footer-shell .coach-o-footer-live-nav .wp-block-navigation__container,
	.coach-o-footer-shell .coach-o-footer-live-nav ul.wp-block-navigation__container {
		column-gap: clamp(0.625rem, 1.6vw, 1.5rem) !important;
		padding-inline: clamp(0.75rem, 2vw, 1.25rem);
	}
}

@media (max-width: 767px) {
	.coach-o-footer-shell .coach-o-footer-live-nav .wp-block-navigation__container,
	.coach-o-footer-shell .coach-o-footer-live-nav ul.wp-block-navigation__container {
		flex-wrap: nowrap !important;
		flex-direction: column !important;
		align-items: center !important;
	}
}

.coach-o-footer-shell .coach-o-footer-live-nav .wp-block-navigation-item__content {
	color: #ffffff !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
	font-weight: 700 !important;
	font-size: clamp(1rem, 2.2vw, 1.125rem) !important;
}

.coach-o-footer-shell .coach-o-footer-live-nav .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--coach-red) !important;
}

.coach-o-footer-shell .coach-o-footer-live-nav .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content,
.coach-o-footer-shell .coach-o-footer-live-nav .wp-block-navigation-item--current > .wp-block-navigation-item__content,
.coach-o-footer-shell .coach-o-footer-live-nav .wp-block-navigation-item[aria-current="page"] > .wp-block-navigation-item__content,
.coach-o-footer-shell .coach-o-footer-live-nav .wp-block-navigation-item__content[aria-current="page"],
.coach-o-footer-shell nav.coach-o-footer-live-nav .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content,
.coach-o-footer-shell nav.coach-o-footer-live-nav .wp-block-navigation-item--current > .wp-block-navigation-item__content {
	color: var(--wp--preset--color--coach-red) !important;
}

.coach-o-footer-shell .coach-o-footer-live-nav .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content:hover,
.coach-o-footer-shell .coach-o-footer-live-nav .wp-block-navigation-item--current > .wp-block-navigation-item__content:hover,
.coach-o-footer-shell .coach-o-footer-live-nav .wp-block-navigation-item[aria-current="page"] > .wp-block-navigation-item__content:hover,
.coach-o-footer-shell .coach-o-footer-live-nav .wp-block-navigation-item__content[aria-current="page"]:hover {
	color: var(--wp--preset--color--coach-red) !important;
}

.coach-o-footer-shell .coach-o-footer-meta-wrap {
	box-sizing: border-box;
	width: 100%;
	border-top: 1px solid #2a283f !important;
	padding-block: clamp(1.375rem, 3vw, 2.5625rem);
}

.coach-o-footer-shell .coach-o-footer-meta {
	align-items: center;
	justify-content: space-between !important;
	flex-wrap: wrap;
	gap: 1rem !important;
}

.coach-o-footer-shell .coach-o-footer-meta .wp-block-column {
	flex-basis: revert !important;
	min-width: 0;
	max-width: 100%;
}

@media (max-width: 575px) {
	.coach-o-footer-shell .coach-o-footer-meta {
		justify-content: center !important;
	}
}

/* Tablet+: override WP core's @media(max-width:781px) stacking on .wp-block-columns
   (which forces flex-basis:100% on every column). Force the three meta columns
   to share the row equally via flex:1 1 0 + flex-wrap:nowrap. */
@media (min-width: 576px) {
	.coach-o-footer-shell .coach-o-footer-meta.wp-block-columns,
	.coach-o-footer-shell .coach-o-footer-meta.is-stackable-on-mobile.wp-block-columns {
		flex-wrap: nowrap !important;
	}

	.coach-o-footer-shell .coach-o-footer-meta.wp-block-columns > .wp-block-column,
	.coach-o-footer-shell .coach-o-footer-meta.is-stackable-on-mobile.wp-block-columns > .wp-block-column {
		flex: 1 1 0 !important;
		max-width: none !important;
		min-width: 0 !important;
	}
}

.coach-o-footer-shell .coach-o-footer-meta.is-layout-flex,
.coach-o-footer-shell .coach-o-footer-meta {
	gap: 1rem !important;
	row-gap: 1rem !important;
}

.coach-o-footer-copyright-note {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: nowrap;
	column-gap: 10px;
}

@media (min-width: 768px) {
	.coach-o-footer-copyright-note {
		justify-content: flex-start;
	}
}

/* Tablet (768–1023): copyright note centered */
@media (min-width: 768px) and (max-width: 1023px) {
	.coach-o-footer-copyright-note {
		justify-content: center;
	}
}

.coach-o-footer-copyright-note svg {
	flex: 0 0 18px;
}

.coach-o-footer-copy-text {
	font-size: clamp(0.875rem, 1.6vw, 1.125rem);
	color: inherit;
	line-height: 1.35;
	text-align: center;
	margin: 0;
	padding: 0;
}

@media (min-width: 768px) {
	.coach-o-footer-copy-text {
		text-align: left;
	}
}

.coach-o-footer-shell .coach-o-footer-brogrammers.has-sm-font-size,
.coach-o-footer-shell .coach-o-footer-brogrammers.has-sm-font-size a {
	font-size: clamp(0.875rem, 1.6vw, 1.125rem) !important;
}

.coach-o-footer-shell p.coach-o-footer-brogrammers {
	text-decoration: none !important;
	border-bottom: none !important;
	box-shadow: none !important;
}

.coach-o-footer-shell .coach-o-footer-brogrammers a,
.coach-o-footer-shell .coach-o-footer-brogrammers a:hover,
.coach-o-footer-shell .coach-o-footer-brogrammers a:focus-visible {
	text-decoration: none !important;
	border-bottom: none !important;
	box-shadow: none !important;
}

/* Override theme.json's global link color (coach-red) for the
   Brogrammers credit. Default white, red on hover — opposite of
   the global. */
.coach-o-footer-shell .coach-o-footer-brogrammers a {
	color: var(--wp--preset--color--white) !important;
}

.coach-o-footer-shell .coach-o-footer-brogrammers a:hover,
.coach-o-footer-shell .coach-o-footer-brogrammers a:focus-visible {
	color: var(--wp--preset--color--coach-red) !important;
}

@media (max-width: 575px) {
	.coach-o-footer-shell .coach-o-footer-meta.coach-o-footer-meta,
	.coach-o-footer-shell .coach-o-footer-meta.is-stackable-on-mobile.wp-block-columns {
		flex-direction: column !important;
		align-items: center !important;
		row-gap: 1.25rem !important;
	}

	.coach-o-footer-shell .coach-o-footer-meta .wp-block-column {
		flex-basis: auto !important;
		max-width: 22rem !important;
		width: 100%;
	}

	.coach-o-footer-shell .coach-o-footer-meta .wp-block-column:last-child.wp-block-column {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
	}

	/* Core block emits is-content-justification-*; default markup used justify:right */
	.coach-o-footer-shell .coach-o-footer-meta .wp-social-links.coach-o-footer-social,
	.coach-o-footer-shell .coach-o-footer-meta ul[class*="wp-block-social-links"].coach-o-footer-social {
		justify-content: center !important;
		margin-inline: auto !important;
		width: 100% !important;
		max-width: min(22rem, 92vw) !important;
	}

	.coach-o-footer-shell .coach-o-footer-meta .has-text-align-center {
		text-align: center !important;
	}

	.coach-o-footer-shell .coach-o-footer-meta .wp-block-column:first-child > * {
		text-align: center;
	}

	.coach-o-footer-shell nav.coach-o-footer-live-nav {
		padding-block: 30px !important;
	}
}

@media (min-width: 576px) {
	.coach-o-footer-shell .coach-o-footer-meta .wp-social-links.coach-o-footer-social,
	.coach-o-footer-shell .coach-o-footer-meta ul.wp-block-social-links.coach-o-footer-social {
		justify-content: flex-end !important;
		justify-items: unset !important;
		margin-inline: unset !important;
		width: auto !important;
		max-width: none !important;
	}
}

.coach-o-footer-social.wp-block-social-links,
.coach-o-footer-social .wp-social-link {
	margin: 0 !important;
}

.coach-o-footer-social {
	gap: 0.75rem !important;
}

.coach-o-footer-shell .coach-o-footer-meta .coach-o-footer-social.wp-block-social-links {
	color: #ffffff !important;
	--wp--preset--color--white: #ffffff;
}

.coach-o-footer-shell .coach-o-footer-meta .coach-o-footer-social .wp-social-link {
	color: #ffffff !important;
}

.coach-o-footer-shell .coach-o-footer-meta a.wp-block-social-link-anchor {
	transition: opacity 0.15s ease;
	opacity: 1;
	min-width: auto;
	min-height: auto;
	height: auto;
	line-height: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #ffffff !important;
}

.coach-o-footer-shell .coach-o-footer-meta a.wp-block-social-link-anchor svg {
	width: 22px;
	height: 22px;
	flex-shrink: 0;
	color: #ffffff;
}

.coach-o-footer-shell .coach-o-footer-meta .coach-o-footer-social a.wp-block-social-link-anchor svg path {
	fill: currentColor;
}

.coach-o-footer-shell .coach-o-footer-meta .coach-o-footer-social a.wp-block-social-link-anchor:hover svg,
.coach-o-footer-shell .coach-o-footer-meta .coach-o-footer-social a.wp-block-social-link-anchor:hover svg path {
	color: #ffffff;
	fill: currentColor;
}

.coach-o-footer-shell .coach-o-footer-meta .coach-o-footer-social a.wp-block-social-link-anchor:hover {
	opacity: 0.72 !important;
	color: #ffffff !important;
}

.coach-o-main-nav .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif;
	color: #ffffff !important;
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: 0.06em;
	font-size: 1rem;
}

.coach-o-header-shell .coach-o-main-nav .wp-block-navigation-item:not(.coach-o-nav-contact) > .wp-block-navigation-item__content {
	color: #ffffff !important;
}

.coach-o-header-shell .coach-o-main-nav .wp-block-navigation-item:not(.coach-o-nav-contact) > .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--coach-red) !important;
}

@media only screen and (min-width: 1280px) {
	.coach-o-main-nav .wp-block-navigation-item__content {
		font-size: 1.125rem;
	}
}

.coach-o-main-nav .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--coach-red) !important;
}

.coach-o-header-shell .coach-o-main-nav .wp-block-navigation-item:not(.coach-o-nav-contact).current-menu-item > .wp-block-navigation-item__content,
.coach-o-header-shell .coach-o-main-nav .wp-block-navigation-item:not(.coach-o-nav-contact).wp-block-navigation-item--current > .wp-block-navigation-item__content,
.coach-o-header-shell .coach-o-main-nav li:not(.coach-o-nav-contact) .wp-block-navigation-item__content[aria-current="page"] {
	color: var(--wp--preset--color--coach-red) !important;
}

.coach-o-main-nav .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content,
.coach-o-main-nav .wp-block-navigation-item--current > .wp-block-navigation-item__content,
.coach-o-main-nav .wp-block-navigation-item[aria-current="page"] > .wp-block-navigation-item__content,
.coach-o-main-nav .wp-block-navigation-item__content[aria-current="page"] {
	color: var(--wp--preset--color--coach-red) !important;
}

.coach-o-nav-contact .wp-block-navigation-item[aria-current="page"] > .wp-block-navigation-item__content,
.coach-o-nav-contact .wp-block-navigation-item__content[aria-current="page"] {
	color: #fff !important;
}

.coach-o-nav-contact:hover .wp-block-navigation-item__content,
.coach-o-nav-contact .wp-block-navigation-item__content:hover {
	background-color: #000000 !important;
	color: #ffffff !important;
	border-color: #ffffff !important;
	filter: none;
	box-shadow: none;
}

.coach-o-nav-contact .wp-block-navigation-item__content {
	box-sizing: border-box;
	border: 1px solid transparent;
	background: var(--wp--preset--color--coach-red);
	color: #fff !important;
	padding: 0 1.35rem;
	border-radius: 0.55rem;
}

.coach-o-sidebar-cta .wp-block-button__link,
.coach-sidebar-stack .wp-block-button__link {
	display: block;
	width: 100%;
	border-radius: 0;
	background: var(--wp--preset--color--coach-red);
	border: 2px solid #000;
	color: #fff;
	font-family: var(--wp--preset--font-family--unbounded);
	text-transform: uppercase;
	text-align: center;
	padding: var(--wp--preset--spacing--md) var(--wp--preset--spacing--lg);
}

.coach-o-sidebar-cta .wp-block-button__link:hover {
	filter: brightness(1.06);
}

.screen-reader-text,
.screen-reader-text:focus {
	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;
}

/* -----------------------------------------------------------------------------
   Site root: kill default block-gap between <header>, <main>, <footer> so the
   hero / FSE sections sit flush against the header and footer.
   ----------------------------------------------------------------------------- */

body > .wp-site-blocks > * + *,
body .wp-site-blocks > main.wp-block-group + footer,
body .wp-site-blocks > header + main.wp-block-group {
	margin-block-start: 0 !important;
}

body .wp-site-blocks > main.wp-block-group {
	margin-block: 0 !important;
	padding-block: 0 !important;
	/* z-index:1 (positive) so main owns its own stacking context — child
	   wp:cover banners and absolute children stack predictably. The lifted
	   Coach O logo still appears on top because the header has z-index:50,
	   which outranks main:1 in the same parent stacking context. */
	position: relative;
	z-index: 1;
	overflow: visible;
}

body .wp-site-blocks > main.wp-block-group > .wp-block-post-content {
	margin-block: 0 !important;
}

body .wp-site-blocks > main.wp-block-group > .wp-block-post-content > * + * {
	margin-block-start: 0;
}

/* Kill block-gap margin on main's first child so the page hero (or
   whatever comes first) sits flush against the fixed header. */
body .wp-site-blocks > main.wp-block-group > *:first-child {
	margin-top: 0 !important;
	margin-block-start: 0 !important;
}

/* -----------------------------------------------------------------------------
   Home hero (slider + 3 sidebar cards)
   ----------------------------------------------------------------------------- */

.coach-o-home-hero-stage {
	position: relative;
	background-color: #1a0d0d;
	/* background-image set per-block on the outer wp:group via style.background.backgroundImage
	   so editors can swap the honeycomb texture via the block's Background panel. */
	padding-top: 60px;
	padding-bottom: 60px;
	padding-inline: clamp(1rem, 3vw, 2rem);
}

@media (min-width: 768px) {
	.coach-o-home-hero-stage {
		padding-top: 79px;
		padding-bottom: 90px;
	}
}

.coach-o-home-hero-stage .coach-o-home-hero-cols {
	margin-block: 0;
	gap: 14px;
	align-items: stretch;
}

@media (min-width: 1280px) {
	.coach-o-home-hero-stage .coach-o-home-hero-cols {
		gap: 20px;
	}
}

/* <1280px: stack columns (slider full-width on top, cards full-width below) */
@media (max-width: 1279px) {
	.coach-o-home-hero-stage .coach-o-home-hero-cols.wp-block-columns {
		flex-direction: column !important;
		flex-wrap: nowrap !important;
	}

	.coach-o-home-hero-stage .coach-o-home-hero-cols > .wp-block-column {
		flex-basis: 100% !important;
		width: 100% !important;
	}
}

.coach-o-home-hero-col-slider,
.coach-o-home-hero-col-cards {
	margin-block: 0;
}

/* Tablet, small desktop & mobile: gap below the slider before the sidebar
   cards stack underneath. */
@media (max-width: 1080px) {
	.coach-o-home-hero-col-slider {
		padding-bottom: 2rem;
	}
}

@media (max-width: 767px) {
	.coach-o-home-hero-col-slider {
		padding-bottom: 1rem;
	}
}

/* Slider container — Swiper takes over via JS. Fixed pixel heights at
   breakpoints (instead of aspect-ratio) so Swiper's absolutely-positioned
   fade slides have a deterministic box for object-fit:fill to fill. */
.coach-o-hero-slider {
	background: linear-gradient(180deg, #F56600 -108.26%, #531C79 100%);
	border-radius: 10px;
	overflow: hidden;
	position: relative;
	width: 100%;
	height: 200px;
}

@media (min-width: 481px) {
	.coach-o-hero-slider {
		height: 260px;
	}
}

@media (min-width: 768px) {
	.coach-o-hero-slider {
		height: 380px;
	}
}

@media (min-width: 1024px) {
	.coach-o-hero-slider {
		height: 460px;
	}
}

@media (min-width: 1280px) {
	.coach-o-hero-slider {
		height: 469px;
	}
}

/* Slide figure + link both fill the slide so the inner img can fill 100%/100% */
.coach-o-hero-slider .coach-o-hero-slide,
.coach-o-hero-slider figure.coach-o-hero-slide.wp-block-image {
	margin: 0 !important;
	padding: 0 !important;
	width: 100%;
	height: 100%;
	display: block;
}

.coach-o-hero-slider .coach-o-hero-slide a,
.coach-o-hero-slider .coach-o-hero-slide > a {
	display: block;
	width: 100%;
	height: 100%;
}

/* WP core sets img { height:auto; max-width:100% } — override so the image fills the slot */
.coach-o-hero-slider .coach-o-hero-slide img,
.coach-o-hero-slider figure.coach-o-hero-slide.wp-block-image img,
.coach-o-hero-slider .swiper-slide img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	min-height: 100%;
	object-fit: fill !important;
	object-position: center !important;
}

/* Once Swiper has run, layout is .swiper > .swiper-wrapper > .swiper-slide */
.coach-o-hero-slider.swiper {
	width: 100%;
	height: 100%;
}

.coach-o-hero-slider.swiper .swiper-wrapper {
	height: 100%;
}

.coach-o-hero-slider.swiper .swiper-slide {
	display: block;
	width: 100%;
	height: 100%;
}

/* Round red navigation buttons in bottom-right — custom SVG icons */
.coach-o-hero-slider .swiper-button-prev,
.coach-o-hero-slider .swiper-button-next {
	width: 28px;
	height: 28px;
	background-color: transparent;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	border: 0;
	border-radius: 0;
	color: transparent;
	top: auto;
	bottom: 24px;
	margin: 0;
	padding: 0;
	cursor: pointer;
	transition: opacity 0.2s ease;
}

.coach-o-hero-slider .swiper-button-prev {
	right: 64px;
	left: auto;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M14 26C20.6274 26 26 20.6274 26 14C26 7.37258 20.6274 2 14 2C7.37258 2 2 7.37258 2 14C2 20.6274 7.37258 26 14 26ZM14 28C21.732 28 28 21.732 28 14C28 6.26801 21.732 0 14 0C6.26801 0 0 6.26801 0 14C0 21.732 6.26801 28 14 28Z' fill='%23FF0000'/%3E%3Cpath d='M8 14L18.5 7.93778L18.5 20.0621L8 14Z' fill='%23FF0000'/%3E%3C/svg%3E");
}

.coach-o-hero-slider .swiper-button-next {
	right: 24px;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M14 26C7.37258 26 2 20.6274 2 14C2 7.37258 7.37258 2 14 2C20.6274 2 26 7.37258 26 14C26 20.6274 20.6274 26 14 26ZM14 28C6.26801 28 0 21.732 0 14C0 6.26801 6.26801 0 14 0C21.732 0 28 6.26801 28 14C28 21.732 21.732 28 14 28Z' fill='%23FF0000'/%3E%3Cpath d='M20 14L9.5 7.93778L9.5 20.0621L20 14Z' fill='%23FF0000'/%3E%3C/svg%3E");
}

/* Hide Swiper's default chevron pseudo-element */
.coach-o-hero-slider .swiper-button-prev::after,
.coach-o-hero-slider .swiper-button-next::after {
	content: none;
	display: none;
}

.coach-o-hero-slider .swiper-button-prev:hover,
.coach-o-hero-slider .swiper-button-next:hover {
	opacity: 0.8;
}

/* Pagination dots are hidden — prev/next arrows are the only nav (15 slides → too many dots) */
.coach-o-hero-slider .swiper-pagination {
	display: none !important;
}

/* 3 sidebar cards — match legacy banner-sidebar-item: rounded, bg image, white border */
.coach-o-hero-cards {
	display: flex;
	flex-direction: column;
	gap: 14px;
	height: 100%;
}

.coach-o-hero-cards .coach-o-hero-card {
	border-radius: 12px;
	padding: 19px 30px 18px;
	color: #ffffff;
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 138px;
	margin: 0;
	position: relative;
	overflow: hidden;
	background-color: #b00000;
	background-repeat: no-repeat;
	background-size: cover;
	/* Legacy: bg-left + bg-fixed below 640 → bg-center + bg-scroll at 640–767 → bg-right at 768+ */
	background-position: left center;
	background-attachment: fixed;
	/* Legacy: solid white border by default; xl+ (1280+) uses subtle 10% white */
	border: 1px solid #fefefe;
	transition: border-color 0.2s ease;
	cursor: pointer;
}

@media (min-width: 640px) {
	.coach-o-hero-cards .coach-o-hero-card {
		background-position: center center;
		background-attachment: scroll;
	}
}

@media (min-width: 768px) {
	.coach-o-hero-cards .coach-o-hero-card {
		background-position: right center;
	}
}

@media (min-width: 1280px) {
	.coach-o-hero-cards .coach-o-hero-card {
		border-color: rgba(255, 255, 255, 0.1);
	}
}

.coach-o-hero-cards .coach-o-hero-card:hover {
	border-color: #ffffff;
}

/* Stretched-link pattern: LEARN MORE anchor's ::after covers the whole card.
   Card is position:relative; link itself stays position:static so ::after
   anchors to the card, not the link. Card heading/desc remain visible (the
   ::after has no background) and all clicks bubble up to the anchor. */
.coach-o-hero-cards .coach-o-hero-card-cta a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

.coach-o-hero-cards .coach-o-hero-card--registration {
	background-image: url('https://coacho.com/wp-content/uploads/2025/08/new-banner-right-side1.png');
}

.coach-o-hero-cards .coach-o-hero-card--promotions {
	background-image: url('https://coacho.com/wp-content/uploads/2025/08/new-banner-right-side2.png');
}

.coach-o-hero-cards .coach-o-hero-card--officials {
	background-image: url('https://coacho.com/wp-content/uploads/2025/08/new-banner-right-side3.png');
}

.coach-o-hero-cards .coach-o-hero-card-title {
	color: #ffffff;
	font-family: var(--wp--preset--font-family--unbounded), "Unbounded", sans-serif;
	font-weight: 700;
	font-size: 24px;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	margin: 0 0 12px 0;
	line-height: 1.21;
}

.coach-o-hero-cards .coach-o-hero-card-desc {
	color: rgba(255, 255, 255, 0.9);
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif;
	font-size: 18px;
	font-weight: 600;
	margin: 0 0 24px 0;
	line-height: 1.22;
}

.coach-o-hero-cards .coach-o-hero-card-cta {
	margin: 0;
}

.coach-o-hero-cards .coach-o-hero-card-cta a {
	color: #ffffff;
	text-decoration: none;
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	font-size: 1.125rem;
	letter-spacing: 0.04em;
	line-height: 21px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

/* Triangle arrow rendered via CSS pseudo so the WP editor can't strip an inline SVG */
.coach-o-hero-cards .coach-o-hero-card-cta a::before {
	content: "";
	order: 1;
	display: inline-block;
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='14' viewBox='0 0 12 14'%3E%3Cpath d='M12 7L0 14V0L12 7Z' fill='%23ffffff'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.coach-o-hero-cards .coach-o-hero-card-cta a:hover {
	opacity: 0.85;
}

/* ==========================================================================
   "O" Promotions — front-page grid section
   Pattern: coach-o/o-promotions
   ========================================================================== */
.coach-o-o-promotions {
	margin: 0;
	padding: 0;
	background: #fff;
	overflow: hidden;
}

/* Banner is a wp:cover block; the editable image is set per-instance via the
   editor's Replace button. Match legacy: padding 60px top/bottom, fixed 465px
   tall on desktop. Title sits in the upper portion; cards overlap the bottom
   half via negative margin on the grid. */
.coach-o-o-promotions-banner.wp-block-cover {
	margin: 0;
	min-height: 200px;
	padding: 60px 16px;
	background-color: #ff0000;
	align-items: flex-start;
	justify-content: center;
}

.coach-o-o-promotions-banner.wp-block-cover > .wp-block-cover__image-background {
	background-size: 100% 100%;
	object-fit: fill;
	object-position: center;
}

@media (max-width: 767px) {
	.coach-o-o-promotions-banner.wp-block-cover > .wp-block-cover__image-background {
		object-fit: cover;
	}
}

.coach-o-o-promotions-banner.wp-block-cover > .wp-block-cover__inner-container {
	width: 100%;
	max-width: 1652px;
}

@media (min-width: 768px) {
	.coach-o-o-promotions-banner.wp-block-cover {
		min-height: 320px;
		padding: 60px 24px;
	}
}

@media (min-width: 1080px) {
	.coach-o-o-promotions-banner.wp-block-cover {
		min-height: 380px !important;
		padding: 60px 24px;
	}
}

@media (min-width: 1200px) {
	.coach-o-o-promotions-banner.wp-block-cover {
		min-height: 465px;
		height: 465px;
		padding: 60px 32px;
	}
}

.coach-o-o-promotions-banner .coach-o-o-promotions-title.wp-block-heading {
	margin: 0 auto;
	color: #fff;
	font-family: var(--wp--preset--font-family--unbounded), "Unbounded", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: clamp(1.5rem, 4vw, 3rem);
	line-height: 1.1;
	letter-spacing: 0;
	text-transform: uppercase;
	text-align: center;
	height: 125px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.coach-o-o-promotions-grid {
	max-width: 1652px;
	margin: -60px auto 0;
	padding: 0 16px 60px;
	display: grid;
	grid-template-columns: 1fr;
	gap: 30px;
	position: relative;
	z-index: 2;
}

@media (min-width: 640px) {
	.coach-o-o-promotions-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 768px) {
	.coach-o-o-promotions-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		margin-top: -120px;
		padding: 0 24px 80px;
	}
}

@media (min-width: 1024px) {
	.coach-o-o-promotions-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (min-width: 1200px) {
	.coach-o-o-promotions-grid {
		margin-top: -210px;
		padding: 0 32px 80px;
	}
}

@media (min-width: 1536px) {
	.coach-o-o-promotions-grid {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}
}

.coach-o-o-promotions-grid .coach-o-promo-card {
	position: relative;
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
	background: #fff3f3;
	border-radius: 10px;
	border: 1px solid rgba(223, 223, 223, 0.6);
	overflow: hidden;
	box-shadow: 0 12px 38px rgba(0, 0, 0, 0.08);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.coach-o-o-promotions-grid .coach-o-promo-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 18px 46px rgba(0, 0, 0, 0.12);
}

.coach-o-o-promotions-grid .coach-o-promo-card-img {
	margin: 0;
	display: block;
	width: 100%;
	background: #fff;
}

.coach-o-o-promotions-grid .coach-o-promo-card-img a,
.coach-o-o-promotions-grid .coach-o-promo-card-img img {
	display: block;
	width: 100%;
	height: 100%;
}

.coach-o-o-promotions-grid .coach-o-promo-card-img img {
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: fill;
	border-radius: 10px;
}

@media (min-width: 768px) {
	.coach-o-o-promotions-grid .coach-o-promo-card-img img {
		height: 260px;
		aspect-ratio: auto;
	}
}

.coach-o-o-promotions-grid .coach-o-promo-card-title {
	margin: 0;
	padding: 24px 12px;
	flex: 1 1 auto;
	font-family: "Unbounded", sans-serif;
	font-weight: 700;
	font-size: 18px;
	line-height: 22px;
	color: #000;
	text-transform: uppercase;
	background: #fff3f3;
	border-top: 1px solid rgba(223, 223, 223, 0.6);
}

/* Force black title, kill the inherited red link color + underline from theme.json */
.coach-o-o-promotions-grid .coach-o-promo-card-title,
.coach-o-o-promotions-grid .coach-o-promo-card-title a,
.coach-o-o-promotions-grid .coach-o-promo-card-title a:visited {
	color: #000;
	text-decoration: none;
}

/* Make the entire card clickable: heading anchor's ::after overlays the card.
   Card has position:relative; the overlay spans inset:0 of that container. */
.coach-o-o-promotions-grid .coach-o-promo-card-title a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
}

/* Image link sits below the overlay so the entire-card anchor wins clicks
   (both targets are the same URL anyway, so the result is identical). */
.coach-o-o-promotions-grid .coach-o-promo-card-img a {
	position: relative;
	z-index: 1;
}

.coach-o-o-promotions-grid .coach-o-promo-card:hover .coach-o-promo-card-title {
	text-decoration: underline;
}

/* ==========================================================================
   CTA — Connect with Us (dark, photo-bg banner)
   Pattern: coach-o/cta-connect (wp:cover — bg image is editable per-instance)
   ========================================================================== */
/* Applies to both the old wp:group instance and the new wp:cover instance. */
.coach-o-cta-connect {
	padding: 2.25rem 1rem;
}

.coach-o-cta-connect.wp-block-cover {
	margin: 0;
	min-height: 300px;
	background-color: #0a0a0a;
	align-items: center;
	justify-content: center;
}

.coach-o-cta-connect.wp-block-cover > .wp-block-cover__image-background {
	object-fit: cover;
	object-position: center;
}

.coach-o-cta-connect.wp-block-cover > .wp-block-cover__inner-container {
	width: 100%;
	max-width: 1652px;
	margin: 0 auto;
}

.coach-o-cta-connect-cols {
	gap: 24px;
	align-items: center;
}

@media (max-width: 1023px) {
	.coach-o-cta-connect-cols {
		flex-direction: column-reverse !important;
		text-align: center;
		gap: 2rem;
	}
	.coach-o-cta-connect-cols .wp-block-column {
		flex-basis: 100% !important;
		width: 100%;
	}
	.coach-o-cta-connect-col-text,
	.coach-o-cta-connect-buttons {
		justify-content: center !important;
		align-items: center;
	}
	.coach-o-cta-connect-col-text > * {
		text-align: center;
	}
	.coach-o-cta-connect-logo {
		margin-bottom: 1.5rem !important;
	}
	.coach-o-cta-connect-buttons {
		padding-top: 1rem;
	}
}

@media (max-width: 820px) {
	.coach-o-cta-connect-title {
		font-size: 30px !important;
	}
}

@media (max-width: 767px) {
	.coach-o-cta-connect-title {
		font-size: 1.25rem !important;
	}
}

/* ==========================================================================
   CTA — Newsletter signup (red track-bg banner with runner cut-out)
   Pattern: coach-o/cta-newsletter (wp:cover — bg image is editable per-instance)
   Live HTML: section has no vertical padding; height is driven by the runner
   image (which uses margin-top:20px/margin-bottom:-9px to bleed below the
   section). The text column adds its own py-30 on mobile.
   ========================================================================== */
.coach-o-cta-newsletter {
	padding: 0 1rem;
}

.coach-o-cta-newsletter.wp-block-cover {
	margin: 0;
	min-height: 0;
	background-color: #cc0000;
	align-items: stretch;
	justify-content: center;
	overflow: visible;
}

.coach-o-cta-newsletter.wp-block-cover > .wp-block-cover__image-background {
	object-fit: cover;
	object-position: center;
}

.coach-o-cta-newsletter.wp-block-cover > .wp-block-cover__inner-container {
	width: 100%;
	max-width: 1652px;
	margin: 0 auto;
}

.coach-o-cta-newsletter-cols.wp-block-columns,
.coach-o-cta-newsletter-cols.wp-block-columns.are-vertically-aligned-center {
	gap: 24px;
	align-items: stretch !important;
}

/* Text column: 30px vertical padding on mobile (matches legacy py-[30px]),
   collapses to 0 on desktop where the runner drives section height. */
.coach-o-cta-newsletter-col-text {
	padding-top: 30px;
	padding-bottom: 30px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

@media (min-width: 1024px) {
	.coach-o-cta-newsletter-col-text {
		padding-top: 0;
		padding-bottom: 0;
	}
}

@media (max-width: 1023px) {
	.coach-o-cta-newsletter-cols {
		flex-direction: column !important;
		text-align: center;
		gap: 2rem;
	}
	.coach-o-cta-newsletter-cols .wp-block-column {
		flex-basis: 100% !important;
		width: 100%;
	}
	.coach-o-cta-newsletter-col-text,
	.coach-o-cta-newsletter-buttons {
		justify-content: center !important;
		align-items: center;
	}
	.coach-o-cta-newsletter-col-text > * {
		text-align: center;
	}
	.coach-o-cta-newsletter-buttons {
		padding-top: 1rem;
	}
}

.coach-o-cta-newsletter-banner .coach-o-cta-newsletter-title.wp-block-heading,
.coach-o-cta-newsletter .coach-o-cta-newsletter-title.wp-block-heading {
	margin: 0;
	color: #fff;
	font-family: var(--wp--preset--font-family--unbounded), "Unbounded", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: clamp(1.5rem, 3.2vw, 42px);
	line-height: 1.25;
	letter-spacing: 0;
	text-transform: uppercase;
}

@media (min-width: 1024px) {
	.coach-o-cta-newsletter .coach-o-cta-newsletter-title.wp-block-heading {
		line-height: 52px;
	}
}

@media (max-width: 820px) {
	.coach-o-cta-newsletter-title {
		font-size: 2.25rem !important;
		line-height: 2.5rem !important;
	}
}

@media (max-width: 767px) {
	.coach-o-cta-newsletter-title {
		font-size: 1.5rem !important;
		line-height: 2.125rem !important;
	}

	/* Full-width CTA buttons on mobile (matches legacy w-full sm:w-max).
	   wp:buttons is a flex container — its child .wp-block-button stays content-
	   width by default, so we force flex:1 and width:100% on both the button
	   wrapper and the inner link, with !important to beat WP core button CSS. */
	.coach-o-cta-connect-buttons,
	.coach-o-cta-newsletter-buttons {
		width: 100%;
	}

	.coach-o-cta-connect-button,
	.coach-o-cta-newsletter-button,
	.coach-o-cta-connect-button.wp-block-button,
	.coach-o-cta-newsletter-button.wp-block-button {
		flex: 1 1 100% !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.coach-o-cta-connect-button .wp-block-button__link,
	.coach-o-cta-newsletter-button .wp-block-button__link {
		display: flex !important;
		width: 100% !important;
		max-width: 100% !important;
	}
}

.coach-o-cta-newsletter-buttons {
	margin-top: 30px;
}

@media (min-width: 768px) {
	.coach-o-cta-newsletter-buttons {
		margin-top: 48px;
	}
}

.coach-o-cta-newsletter-button .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 0 28px;
	height: 44px;
	min-height: 44px;
	border-radius: 8px;
	border: 1px solid transparent;
	background: #fff;
	color: #ff0000;
	font-family: "Barlow", sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: normal;
	text-transform: uppercase;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

@media (min-width: 768px) {
	.coach-o-cta-newsletter-button .wp-block-button__link {
		height: 54px;
		padding: 0 32px;
		font-size: 18px;
	}
}

.coach-o-cta-newsletter-button .wp-block-button__link:hover,
.coach-o-cta-newsletter-button .wp-block-button__link:focus-visible {
	background: transparent !important;
	color: #fff !important;
	border-color: #fff;
}

/* Runner column: full-height flex-column so the figure sits at the bottom
   regardless of the text column being shorter. */
.coach-o-cta-newsletter-col-runner.wp-block-column {
	display: flex !important;
	flex-direction: column;
	justify-content: flex-end;
	align-items: flex-end;
	align-self: stretch !important;
}

@media (max-width: 1023px) {
	.coach-o-cta-newsletter-col-runner.wp-block-column {
		flex-direction: row;
		justify-content: center;
		align-items: center;
		align-self: auto !important;
	}
}

.coach-o-cta-newsletter-runner {
	margin: 0;
	width: auto;
	max-width: 100%;
}

.coach-o-cta-newsletter-runner img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;
	margin-top: 20px;
	margin-bottom: -10px;
}

.coach-o-cta-connect-title,
.coach-o-cta-connect-subtitle {
	margin: 0;
	color: #fff;
	font-family: "Unbounded", sans-serif;
	font-weight: 700;
	font-style: normal;
	line-height: 1.1;
	text-transform: uppercase;
	letter-spacing: 0;
}

.coach-o-cta-connect-title {
	font-size: clamp(1.25rem, 3vw, 3rem);
}

.coach-o-cta-connect-title-accent {
	color: #ff0000;
}

.coach-o-cta-connect-subtitle {
	margin-top: 12px;
	font-size: clamp(1.5rem, 5vw, 4.5rem);
}

@media (min-width: 1280px) {
	.coach-o-cta-connect-subtitle {
		font-size: 72px;
	}
}

.coach-o-cta-connect-buttons {
	margin-top: 20px;
}

@media (min-width: 768px) {
	.coach-o-cta-connect-buttons {
		margin-top: 28px;
	}
}

.coach-o-cta-connect-button .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 0 28px;
	height: 44px;
	min-height: 44px;
	border-radius: 8px;
	border: 1px solid transparent;
	background: #fff;
	color: #ff0000;
	font-family: "Barlow", sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 22px;
	text-transform: uppercase;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

@media (min-width: 768px) {
	.coach-o-cta-connect-button .wp-block-button__link {
		height: 54px;
		padding: 0 32px;
		font-size: 18px;
	}
}

.coach-o-cta-connect-button .wp-block-button__link:hover,
.coach-o-cta-connect-button .wp-block-button__link:focus-visible {
	background: transparent !important;
	color: #fff !important;
	border-color: #fff;
}

.coach-o-cta-connect-col-logo {
	display: flex;
	justify-content: flex-end;
}

@media (max-width: 1023px) {
	.coach-o-cta-connect-col-logo {
		justify-content: center;
	}
}

.coach-o-cta-connect-logo {
	margin: 0;
	width: 180px;
	max-width: 100%;
}

.coach-o-cta-connect-logo img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;
}

@media (min-width: 640px) {
	.coach-o-cta-connect-logo {
		width: 200px;
	}
}

@media (min-width: 768px) {
	.coach-o-cta-connect-logo {
		width: 280px;
	}
}

@media (min-width: 1024px) {
	.coach-o-cta-connect-logo {
		width: 325px;
	}
}

/* ==========================================================================
   About Us page — page hero, content column, profile card, sidebar
   ========================================================================== */

/* --- Page Hero (reusable inner-page banner) --- */
/* The cover block in page-about-us.html has inline style="min-height:300px"
   from the wp:cover {"minHeight":300} attribute — beat it with !important. */
.coach-o-page-hero.wp-block-cover {
	min-height: 135px !important;
	margin-top: 0 !important;
	padding: 60px 1rem;
	align-items: center;
	justify-content: center;
}

.coach-o-page-hero .wp-block-cover__image-background {
	object-fit: cover;
	object-position: bottom;
}

.coach-o-page-hero-title {
	color: #ffffff !important;
	font-size: 1.5rem !important;
	line-height: 34px !important;
	letter-spacing: 0.04em;
	margin: 0 !important;
	min-width: 100%;
	text-align: center;
	font-weight: 700 !important;
	text-transform: uppercase !important;
}

@media (min-width: 640px) {
	.coach-o-page-hero-title {
		font-size: 1.875rem !important;
	}
}

@media (min-width: 768px) {
	.coach-o-page-hero.wp-block-cover {
		min-height: 345px !important;
		padding: 130px 2rem;
	}
	.coach-o-page-hero-title {
		font-size: 2.25rem !important;
		line-height: 60px !important;
	}
}

@media (min-width: 1024px) {
	.coach-o-page-hero-title {
		font-size: 3rem !important;
	}
}

@media (min-width: 1280px) {
	.coach-o-page-hero-title {
		font-size: 48px !important;
	}
}

/* --- Page hero variant: icon + title, asymmetric padding matching the
 *     live Track Officials hero — pt-[60px] pb-[40px] on mobile/tablet,
 *     md:pt-[117px] md:pb-[80px] on desktop. The shared .coach-o-page-hero
 *     uses symmetric padding which made ours too tall. --- */
.coach-o-page-hero--track.wp-block-cover {
	min-height: 0 !important;
	padding: 60px 1rem 40px !important;
}

@media (min-width: 768px) {
	.coach-o-page-hero--track.wp-block-cover {
		padding: 117px 2rem 80px !important;
	}
}

/* --- Page hero variant with subtitle + icon (e.g. Ambassadors) --- */
.coach-o-page-hero--with-subtitle.wp-block-cover {
	min-height: 200px !important;
	padding: 60px 1rem;
}

@media (min-width: 768px) {
	.coach-o-page-hero--with-subtitle.wp-block-cover {
		min-height: 320px !important;
		padding: 92px 2rem 71px 2rem;
	}
}

.coach-o-page-hero-icon {
	margin: 0 auto 20px auto !important;
}

.coach-o-page-hero-icon img {
	display: block;
	width: 75px;
	height: auto;
	margin: 0 auto;
}

@media (min-width: 768px) {
	.coach-o-page-hero-icon img {
		width: 75px;
	}
}

.coach-o-page-hero-subtitle {
	color: #ffffff !important;
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif !important;
	font-weight: 500 !important;
	font-size: 1rem !important;
	line-height: 24px !important;
	margin: 10px auto 0 auto !important;
	text-align: center;
}

@media (min-width: 768px) {
	.coach-o-page-hero-subtitle {
		font-size: 1.25rem !important;
		line-height: 30px !important;
	}
}

@media (min-width: 1024px) {
	.coach-o-page-hero-subtitle {
		font-size: 1.5rem !important;
		line-height: 34px !important;
	}
}

/* --- Page hero variant: subtitle ABOVE title (e.g. Powered By Coach O)
   No icon. Small "eyebrow" subtitle on top, big H1 title underneath.
   Sizes match legacy: eyebrow 24/30/36/48/48, title 36/48/64/90/90. */
.coach-o-page-hero--subtitle-above.wp-block-cover {
	min-height: 200px !important;
	padding: 60px 1rem;
}

@media (min-width: 768px) {
	.coach-o-page-hero--subtitle-above.wp-block-cover {
		min-height: 320px !important;
		padding: 92px 2rem 71px 2rem;
	}
}

.coach-o-page-hero-eyebrow {
	color: #ffffff !important;
	font-family: var(--wp--preset--font-family--unbounded), "Unbounded", sans-serif !important;
	font-weight: 700 !important;
	font-size: 1.5rem !important;
	line-height: 34px !important;
	text-transform: uppercase !important;
	text-align: center !important;
	margin: 0 0 11px 0 !important;
	width: 100% !important;
}

@media (min-width: 640px) {
	.coach-o-page-hero-eyebrow {
		font-size: 1.875rem !important;
	}
}

@media (min-width: 768px) {
	.coach-o-page-hero-eyebrow {
		font-size: 2.25rem !important;
		line-height: 60px !important;
	}
}

@media (min-width: 1024px) {
	.coach-o-page-hero-eyebrow {
		font-size: 3rem !important;
	}
}

/* In subtitle-above variant, the H1 title is the BIG word (Coach O) —
   bigger than the default page-hero-title sizes. */
.coach-o-page-hero--subtitle-above .coach-o-page-hero-title {
	font-size: 36px !important;
	line-height: 60px !important;
}

@media (min-width: 640px) {
	.coach-o-page-hero--subtitle-above .coach-o-page-hero-title {
		font-size: 48px !important;
	}
}

@media (min-width: 768px) {
	.coach-o-page-hero--subtitle-above .coach-o-page-hero-title {
		font-size: 64px !important;
	}
}

@media (min-width: 1024px) {
	.coach-o-page-hero--subtitle-above .coach-o-page-hero-title {
		font-size: 90px !important;
		line-height: 112px !important;
	}
}

/* --- About Us section wrapper + grid --- */
.coach-o-about-section {
	padding: 60px 1rem;
}

@media (min-width: 768px) {
	.coach-o-about-section {
		padding: 130px 1rem;
	}
}

.coach-o-about-grid.wp-block-columns {
	gap: 29px !important;
	flex-wrap: wrap;
}

/* Stack on mobile/tablet — only side-by-side at lg (1024px+).
   The columns block has inline style="flex-basis:66.66%" / "33.33%" baked
   into the seed; we beat it with !important. flex-direction:column +
   width:100% is belt-and-suspenders against any WP layout rule that
   would re-row the columns at this width (e.g. iPad Air at 820px). */
@media (max-width: 1023px) {
	.coach-o-about-grid.wp-block-columns,
	.wp-block-columns.coach-o-about-grid {
		flex-direction: column !important;
		flex-wrap: wrap !important;
	}
	.coach-o-about-grid.wp-block-columns > .wp-block-column,
	.coach-o-about-grid.wp-block-columns > .wp-block-column.coach-o-about-grid-content,
	.coach-o-about-grid.wp-block-columns > .wp-block-column.coach-o-about-grid-sidebar {
		flex-basis: 100% !important;
		flex-grow: 1 !important;
		min-width: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
	}
	/* Disable desktop sticky sidebar at <1024 so it flows below content. */
	.coach-o-about-grid-sidebar {
		position: static !important;
		top: auto !important;
		align-self: auto !important;
	}
}

@media (min-width: 1024px) {
	.coach-o-about-grid-content {
		flex-basis: 66.66% !important;
	}
	.coach-o-about-grid-sidebar {
		flex-basis: 33.33% !important;
		position: sticky;
		top: 150px;
		align-self: flex-start;
	}
}

/* --- About Us left-column content --- */
.coach-o-about-intro {
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif !important;
	font-weight: 500 !important;
	font-size: 1rem !important;
	line-height: 22px !important;
	color: #2b2b2b;
	margin-bottom: 24px !important;
}

.coach-o-about-section-title.wp-block-heading {
	font-family: var(--wp--preset--font-family--unbounded), "Unbounded", sans-serif !important;
	font-weight: 700 !important;
	font-size: 1.5rem !important;
	line-height: 30px !important;
	color: #111111 !important;
	text-transform: uppercase !important;
	letter-spacing: 0;
	margin: 0 0 24px 0 !important;
}

.coach-o-about-section-body {
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif !important;
	font-weight: 500 !important;
	font-size: 1rem !important;
	line-height: 22px !important;
	color: #2b2b2b;
	margin: 0 0 24px 0 !important;
}

.coach-o-about-section-body:last-of-type {
	margin-bottom: 40px !important;
}

@media (min-width: 640px) {
	.coach-o-about-intro,
	.coach-o-about-section-body {
		font-size: 1.125rem !important;
		line-height: 26px !important;
	}
	.coach-o-about-section-title.wp-block-heading {
		font-size: 2rem !important;
	}
}

@media (min-width: 768px) {
	.coach-o-about-intro,
	.coach-o-about-section-body {
		font-size: 1.25rem !important;
		line-height: 30px !important;
	}
	.coach-o-about-section-title.wp-block-heading {
		font-size: 2.5rem !important;
		line-height: 48px !important;
	}
}

@media (min-width: 1024px) {
	.coach-o-about-intro,
	.coach-o-about-section-body {
		font-size: 1.5rem !important;
		line-height: 34px !important;
	}
}

@media (min-width: 1280px) {
	.coach-o-about-section-title.wp-block-heading {
		font-size: 3rem !important;
		line-height: 100% !important;
	}
}

/* --- Profile card (Charles Oliver photo + bio + button) --- */
.coach-o-about-profile.wp-block-columns,
.coach-o-about-profile.wp-block-columns.are-vertically-aligned-top {
	gap: 34px !important;
	margin-top: 40px !important;
	padding-bottom: 60px !important;
	margin-bottom: 0 !important;
	align-items: center !important;
	flex-wrap: wrap;
}

/* Override WP's per-column "is-vertically-aligned-top" so name/contact
   block stays centered on the photo's mid-line. */
.coach-o-about-profile .wp-block-column,
.coach-o-about-profile .wp-block-column.is-vertically-aligned-top {
	align-self: center !important;
}

.coach-o-about-profile-photo-col {
	width: 100% !important;
}

.coach-o-about-profile-photo {
	width: 100%;
	height: auto;
	margin: 0 !important;
}

.coach-o-about-profile-photo img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 450px;
	object-fit: cover;
	border-radius: 6px;
}

@media (min-width: 768px) {
	/* Force side-by-side from 768px up. WP core stacks columns at <=781px
	   with !important; we beat it with !important + per-column flex-basis. */
	.coach-o-about-profile.wp-block-columns {
		flex-wrap: nowrap !important;
	}
	.coach-o-about-profile.wp-block-columns > .wp-block-column.coach-o-about-profile-photo-col {
		flex-basis: 382px !important;
		flex-grow: 0 !important;
		flex-shrink: 0 !important;
		min-width: 382px;
		max-width: 382px;
	}
	.coach-o-about-profile.wp-block-columns > .wp-block-column.coach-o-about-profile-text-col {
		flex-basis: 0 !important;
		flex-grow: 1 !important;
		min-width: 0;
	}
	.coach-o-about-profile-photo img {
		width: 382px;
		height: 450px;
	}
}

.coach-o-about-profile-name.wp-block-heading {
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif !important;
	font-weight: 700 !important;
	font-size: 2rem !important;
	line-height: 40px !important;
	color: #111111 !important;
	margin: 0 0 12px 0 !important;
}

.coach-o-about-profile-label {
	font-family: var(--wp--preset--font-family--unbounded), "Unbounded", sans-serif !important;
	font-weight: 700 !important;
	font-size: 0.875rem !important;
	line-height: 1.4 !important;
	color: #000000;
	text-transform: uppercase;
	margin: 0 0 24px 0 !important;
}

.coach-o-about-profile-email {
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif !important;
	font-weight: 600 !important;
	font-size: 0.875rem !important;
	line-height: 1.4 !important;
	margin: 0 0 32px 0 !important;
	padding-left: 14px;
	border-left: 2px solid var(--wp--preset--color--coach-red, #cc0000);
}

.coach-o-about-profile-email a {
	color: #2b2b2b !important;
	text-decoration: none !important;
}

.coach-o-about-profile-email a:hover {
	color: var(--wp--preset--color--coach-red, #cc0000) !important;
}

.coach-o-about-profile-buttons.wp-block-buttons {
	gap: 12px !important;
	flex-direction: column;
	align-items: stretch;
}

.coach-o-about-profile-button .wp-block-button__link,
.coach-o-about-section-button .wp-block-button__link {
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif !important;
	font-weight: 700 !important;
	font-size: 1rem !important;
	line-height: 1.2 !important;
	letter-spacing: 0.02em;
	text-transform: uppercase !important;
	padding: 1rem 2rem !important;
	border-radius: 0.5rem !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	text-align: center;
	min-height: 54px;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
	border: 1px solid transparent !important;
}

.coach-o-about-profile-button .wp-block-button__link:hover,
.coach-o-about-section-button .wp-block-button__link:hover {
	background-color: transparent !important;
	color: var(--wp--preset--color--coach-red, #cc0000) !important;
	border-color: var(--wp--preset--color--coach-red, #cc0000) !important;
}

@media (min-width: 1024px) {
	.coach-o-about-profile-buttons.wp-block-buttons {
		flex-direction: row;
		gap: 24px !important;
	}
}

/* --- Contact Us page: section + grid + profile rows ---
   Contact Us reuses the same 2/3-content + 1/3-sidebar shape as About Us
   (and the same .coach-o-sidebar-cta synced-pattern stack), but each
   profile row has its own dimensions (382x322 photo column with a 241px
   image centered inside, no buttons under the contact info). */
.coach-o-contact-section {
	padding: 60px 1rem !important;
	margin: 0 auto !important;
}

@media (min-width: 1024px) {
	.coach-o-contact-section {
		padding: 130px 1rem !important;
	}
}

.coach-o-contact-grid.wp-block-columns {
	gap: 29px !important;
	flex-wrap: wrap;
}

.coach-o-contact-grid-content,
.coach-o-contact-grid-sidebar {
	min-width: 0;
}

@media (max-width: 1023px) {
	.coach-o-contact-grid.wp-block-columns,
	.wp-block-columns.coach-o-contact-grid {
		flex-direction: column !important;
		flex-wrap: wrap !important;
	}
	.coach-o-contact-grid.wp-block-columns > .wp-block-column,
	.coach-o-contact-grid.wp-block-columns > .wp-block-column.coach-o-contact-grid-content,
	.coach-o-contact-grid.wp-block-columns > .wp-block-column.coach-o-contact-grid-sidebar {
		flex-basis: 100% !important;
		flex-grow: 1 !important;
		min-width: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
	}
	.coach-o-contact-grid-sidebar {
		position: static !important;
		top: auto !important;
		align-self: auto !important;
	}
}

@media (min-width: 1024px) {
	.coach-o-contact-grid.wp-block-columns {
		flex-wrap: nowrap !important;
	}
	.coach-o-contact-grid-content {
		flex-basis: 66.66% !important;
	}
	.coach-o-contact-grid-sidebar {
		flex-basis: 33.33% !important;
		position: sticky;
		top: 150px;
		align-self: flex-start;
	}
}

/* Profile row (one per person — duplicate the columns block to add another) */
.coach-o-contact-profile.wp-block-columns,
.coach-o-contact-profile.wp-block-columns.are-vertically-aligned-center {
	gap: 34px !important;
	margin: 0 0 40px 0 !important;
	align-items: center !important;
	flex-wrap: wrap;
}

.coach-o-contact-profile .wp-block-column,
.coach-o-contact-profile .wp-block-column.is-vertically-aligned-center {
	align-self: center !important;
}

.coach-o-contact-profile-photo-col {
	width: 100% !important;
}

.coach-o-contact-profile-photo {
	width: 100%;
	margin: 0 !important;
	display: flex;
	align-items: center;
	justify-content: center;
}

.coach-o-contact-profile-photo img {
	display: block;
	width: 241px;
	max-width: 100%;
	height: auto;
}

@media (min-width: 768px) {
	.coach-o-contact-profile.wp-block-columns {
		flex-wrap: nowrap !important;
	}
	.coach-o-contact-profile.wp-block-columns > .wp-block-column.coach-o-contact-profile-photo-col {
		flex-basis: 382px !important;
		flex-grow: 0 !important;
		flex-shrink: 0 !important;
		min-width: 382px;
		max-width: 382px;
	}
	.coach-o-contact-profile.wp-block-columns > .wp-block-column.coach-o-contact-profile-text-col {
		flex-basis: 0 !important;
		flex-grow: 1 !important;
		min-width: 0;
	}
	.coach-o-contact-profile-photo {
		height: 322px;
	}
}

.coach-o-contact-profile-name.wp-block-heading {
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif !important;
	font-weight: 700 !important;
	font-size: 2rem !important;
	line-height: 40px !important;
	color: #111111 !important;
	margin: 0 0 24px 0 !important;
}

.coach-o-contact-profile-label {
	font-family: var(--wp--preset--font-family--unbounded), "Unbounded", sans-serif !important;
	font-weight: 700 !important;
	font-size: 0.875rem !important;
	line-height: 1.4 !important;
	color: #000000;
	text-transform: uppercase;
	margin: 0 0 12px 0 !important;
}

.coach-o-contact-profile-email {
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif !important;
	font-weight: 600 !important;
	font-size: 0.875rem !important;
	line-height: 1.4 !important;
	margin: 0 !important;
	padding-left: 14px;
	border-left: 2px solid var(--wp--preset--color--coach-red, #cc0000);
}

.coach-o-contact-profile-email a {
	color: #2b2b2b !important;
	text-decoration: none !important;
}

.coach-o-contact-profile-email a:hover {
	color: var(--wp--preset--color--coach-red, #cc0000) !important;
}

/* --- Ambassadors page: section + grid + cards --- */
.coach-o-ambassadors-section {
	padding: 60px 1rem !important;
	margin: 0 auto !important;
}

@media (min-width: 768px) {
	.coach-o-ambassadors-section {
		padding: 130px 1rem !important;
	}
}

@media (min-width: 820px) and (max-width: 1653px) {
	.coach-o-ambassadors-section {
		padding-left: 3rem !important;
		padding-right: 3rem !important;
	}
}

.coach-o-ambassadors-grid.wp-block-columns {
	gap: 29px !important;
	flex-wrap: wrap;
}

@media (max-width: 1600px) {
	.coach-o-ambassadors-grid.wp-block-columns {
		gap: 40px !important;
	}
}

@media (max-width: 1023px) {
	.coach-o-ambassadors-grid.wp-block-columns,
	.wp-block-columns.coach-o-ambassadors-grid {
		flex-direction: column !important;
		flex-wrap: wrap !important;
	}
	.coach-o-ambassadors-grid.wp-block-columns > .wp-block-column,
	.coach-o-ambassadors-grid.wp-block-columns > .wp-block-column.coach-o-ambassadors-grid-content,
	.coach-o-ambassadors-grid.wp-block-columns > .wp-block-column.coach-o-ambassadors-grid-sidebar {
		flex-basis: 100% !important;
		flex-grow: 1 !important;
		min-width: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
	}
	.coach-o-ambassadors-grid-sidebar {
		position: static !important;
		top: auto !important;
		align-self: auto !important;
	}
}

@media (min-width: 1024px) {
	.coach-o-ambassadors-grid.wp-block-columns {
		flex-wrap: nowrap !important;
	}
	.coach-o-ambassadors-grid-content {
		flex-basis: 66.66% !important;
	}
	.coach-o-ambassadors-grid-sidebar {
		flex-basis: 33.33% !important;
		position: sticky;
		top: 150px;
		align-self: flex-start;
	}
}

/* Card row container — flex-wrap so N cards flow to multiple rows.
   Card width: 1 col mobile, 2 col tablet (>=600), 3 col desktop (>=1024). */
.coach-o-ambassadors-cards.wp-block-group {
	gap: 30px !important;
	row-gap: 30px !important;
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: flex-start;
	align-items: flex-start;
}

@media (min-width: 640px) {
	.coach-o-ambassadors-cards.wp-block-group {
		row-gap: 60px !important;
	}
}

.coach-o-ambassadors-cards > .coach-o-ambassador-card {
	flex: 0 0 100%;
	max-width: 100%;
}

@media (min-width: 600px) {
	.coach-o-ambassadors-cards > .coach-o-ambassador-card {
		flex: 0 0 calc(50% - 15px);
		max-width: calc(50% - 15px);
	}
}

@media (min-width: 1601px) {
	.coach-o-ambassadors-cards > .coach-o-ambassador-card {
		flex: 0 0 calc(33.33% - 20px);
		max-width: calc(33.33% - 20px);
	}
}

/* --- Single ambassador card --- */
.coach-o-ambassador-card {
	margin: 0 !important;
	position: relative;
}

/* Card visual: SVG backdrop fills the wrap, padding reserves space so
   the red SVG border shows through on all four sides (10px L/R/B,
   22px top — the larger top reserves the dark red strip for the
   COACH O AMBASSADOR badge + crest). The ambassador PNG sits inside
   at natural aspect, masked by clip-path to fit the frame's photo
   cutout (notch top-right for badge/crest, rounded corners). */
.coach-o-ambassador-card-photo-wrap.wp-block-group {
	position: relative;
	width: 100%;
	background-image: url('/wp-content/themes/coach-o/assets/images/ambassadors/ambassador-bg.svg');
	background-repeat: no-repeat;
	background-size: cover;
	background-position: top right;
	border-radius: 10px;
	overflow: hidden;
	box-sizing: border-box;
	padding-top: 22px !important;
	padding-left: 10px !important;
	padding-right: 10px !important;
	padding-bottom: 10px !important;
	margin: 0 !important;
}

.coach-o-ambassador-card-photo-wrap::before {
	content: "COACH O AMBASSADOR";
	position: absolute;
	top: 18px;
	left: 12px;
	font-family: var(--wp--preset--font-family--unbounded), "Unbounded", sans-serif;
	font-weight: 700;
	font-size: 14px;
	line-height: 1;
	color: #ffffff;
	text-transform: uppercase;
	z-index: 2;
	pointer-events: none;
	letter-spacing: 0.02em;
}

/* Crest top-right — uses the legacy PNG (image00000041-1.png) which
   we host locally as ambassador-crest.png. Position matches legacy:
   top:10 right:5, 69x76. */
.coach-o-ambassador-card-photo-wrap::after {
	content: "";
	position: absolute;
	top: 10px;
	right: 5px;
	width: 69px;
	height: 76px;
	background-image: url('/wp-content/themes/coach-o/assets/images/ambassadors/ambassador-crest.png');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	z-index: 3;
	pointer-events: none;
}

/* Image at natural aspect, full card width, clip-path mask cuts the
   top-right corner so the image flows around the badge/crest area
   without overlapping them. Polygon copied verbatim from the legacy
   .ambassador-card-person-image rule. */
.coach-o-ambassador-card-photo.wp-block-image {
	margin: 0 !important;
	width: 100%;
	max-width: none !important;
	z-index: 1;
}

.coach-o-ambassador-card-photo img {
	display: block;
	width: 100%;
	height: initial;
	padding-top: 22px;
	clip-path: polygon(85.025% 16.744%, 85.025% 16.744%, 85.205% 17.109%, 85.413% 17.444%, 85.648% 17.746%, 85.906% 18.014%, 86.186% 18.246%, 86.484% 18.44%, 86.798% 18.594%, 87.125% 18.706%, 87.463% 18.775%, 87.809% 18.798%, 96.845% 18.798%, 96.845% 18.798%, 97.357% 18.849%, 97.843% 18.996%, 98.295% 19.231%, 98.708% 19.546%, 99.076% 19.934%, 99.391% 20.385%, 99.648% 20.893%, 99.839% 21.449%, 99.959% 22.046%, 100% 22.674%, 100% 96.124%, 100% 96.124%, 99.959% 96.753%, 99.839% 97.349%, 99.648% 97.905%, 99.391% 98.413%, 99.076% 98.865%, 98.708% 99.252%, 98.295% 99.567%, 97.843% 99.802%, 97.357% 99.949%, 96.845% 100%, 3.155% 100%, 3.155% 100%, 2.643% 99.949%, 2.157% 99.802%, 1.705% 99.567%, 1.292% 99.252%, 0.924% 98.865%, 0.609% 98.413%, 0.352% 97.905%, 0.161% 97.349%, 0.041% 96.753%, 0% 96.124%, 0% 3.876%, 0% 3.876%, 0.041% 3.247%, 0.161% 2.651%, 0.352% 2.095%, 0.609% 1.587%, 0.924% 1.135%, 1.292% 0.748%, 1.705% 0.433%, 2.157% 0.198%, 2.643% 0.051%, 3.155% 0%, 75.873% 0%, 75.873% 0%, 76.22% 0.023%, 76.558% 0.092%, 76.885% 0.205%, 77.199% 0.359%, 77.497% 0.553%, 77.776% 0.785%, 78.035% 1.053%, 78.269% 1.355%, 78.478% 1.689%, 78.657% 2.054%, 85.025% 16.744%);
}

.coach-o-ambassador-card-name.wp-block-heading {
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif !important;
	font-weight: 700 !important;
	font-size: 32px !important;
	line-height: 1 !important;
	color: #08090d !important;
	margin: 19px 0 0 0 !important;
}

.coach-o-ambassador-card-pledge {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif !important;
	font-weight: 700 !important;
	font-size: 24px !important;
	line-height: 1 !important;
	color: #ff0000 !important;
	text-transform: uppercase !important;
	margin: 16px 0 0 0 !important;
}

.coach-o-ambassador-card-pledge-icon {
	width: 33px;
	height: 25px;
	flex-shrink: 0;
}

.coach-o-ambassador-card-desc {
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif !important;
	font-weight: 600 !important;
	font-size: 18px !important;
	line-height: 22px !important;
	color: rgba(0, 0, 0, 0.8) !important;
	margin: 16px 0 0 0 !important;
}

.coach-o-about-section-buttons.wp-block-buttons {
	margin-bottom: 40px !important;
}

/* -------------------------------------------------------------------------
   Powered By Coach O page: section + grid + program cards
   ------------------------------------------------------------------------- */

.coach-o-programs-section {
	padding: 60px 1rem !important;
	margin: 0 auto !important;
}

@media (min-width: 768px) {
	.coach-o-programs-section {
		padding: 130px 1rem !important;
	}
}

@media (min-width: 820px) and (max-width: 1653px) {
	.coach-o-programs-section {
		padding-left: 3rem !important;
		padding-right: 3rem !important;
	}
}

.coach-o-programs-grid.wp-block-columns {
	gap: 29px !important;
	flex-wrap: wrap;
}

@media (max-width: 1600px) {
	.coach-o-programs-grid.wp-block-columns {
		gap: 40px !important;
	}
}

@media (max-width: 1023px) {
	.coach-o-programs-grid.wp-block-columns,
	.wp-block-columns.coach-o-programs-grid {
		flex-direction: column !important;
		flex-wrap: wrap !important;
	}
	.coach-o-programs-grid.wp-block-columns > .wp-block-column,
	.coach-o-programs-grid.wp-block-columns > .wp-block-column.coach-o-programs-grid-content,
	.coach-o-programs-grid.wp-block-columns > .wp-block-column.coach-o-programs-grid-sidebar {
		flex-basis: 100% !important;
		flex-grow: 1 !important;
		min-width: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
	}
	.coach-o-programs-grid-sidebar {
		position: static !important;
		top: auto !important;
		align-self: auto !important;
	}
}

@media (min-width: 1024px) {
	.coach-o-programs-grid.wp-block-columns {
		flex-wrap: nowrap !important;
	}
	.coach-o-programs-grid-content {
		flex-basis: 66.66% !important;
	}
	.coach-o-programs-grid-sidebar {
		flex-basis: 33.33% !important;
		position: sticky;
		top: 150px;
		align-self: flex-start;
	}
}

/* Card row container — flex-wrap so N cards flow to multiple rows.
   Width: 1 col mobile, 2 col tablet (>=600), 3 col desktop (>=1601). */
.coach-o-programs-cards.wp-block-group {
	gap: 30px !important;
	row-gap: 30px !important;
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: flex-start;
	align-items: flex-start;
}

@media (min-width: 640px) {
	.coach-o-programs-cards.wp-block-group {
		row-gap: 40px !important;
	}
}

.coach-o-programs-cards > .coach-o-program-card {
	flex: 0 0 100%;
	max-width: 100%;
}

@media (min-width: 600px) {
	.coach-o-programs-cards > .coach-o-program-card {
		flex: 0 0 calc(50% - 15px);
		max-width: calc(50% - 15px);
	}
}

@media (min-width: 1601px) {
	.coach-o-programs-cards > .coach-o-program-card {
		flex: 0 0 calc(33.33% - 20px);
		max-width: calc(33.33% - 20px);
	}
}

/* --- Single program card ---
   Outer red wrap, white inner with title + logo, red bottom bar with
   the diagonal POWERED BY watermark painted via ::after pseudo-element.
   Note: no overflow:hidden — the watermark intentionally extends
   ~2px right and 10px below the card edge (matches legacy). */
.coach-o-program-card.wp-block-group {
	margin: 0 !important;
	position: relative;
	overflow: hidden;
	background-color: #FF0000;
	border-radius: 12px;
	padding: 14px !important;
}

.coach-o-program-card-inner.wp-block-group {
	background-color: #ffffff;
	border-radius: 10px;
	height: 216px;
	margin: 0 !important;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 0 !important;
	box-sizing: border-box;
}

.coach-o-program-card-title.wp-block-heading {
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif !important;
	font-weight: 700 !important;
	font-size: 16px !important;
	line-height: 18px !important;
	letter-spacing: 0 !important;
	color: #7E0000 !important;
	text-align: center !important;
	margin: 0 !important;
	padding: 12px 0 !important;
	flex: 0 0 auto;
}

.coach-o-program-card-logo.wp-block-image {
	margin: 0 !important;
	flex: 1 1 auto;
	display: flex !important;
	align-items: start;
	justify-content: start;
	width: 100%;
	max-width: 100%;
	overflow: hidden;
	min-height: 0;
}

.coach-o-program-card-logo img {
	display: block;
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	margin: 0 auto;
}

/* Bottom bar with POWERED BY label + decorative diagonal SVG watermark.
   Background is transparent (the outer red card shows through). */
.coach-o-program-card-bar.wp-block-group {
	position: relative;
	margin: 0 !important;
	padding: 13px 14px 0 14px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	background-color: transparent;
	min-height: 30px;
}

.coach-o-program-card-bar-label {
	margin: 0 !important;
	font-family: var(--wp--preset--font-family--unbounded), "Unbounded", sans-serif !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	line-height: 17px !important;
	color: #ffffff !important;
	text-transform: uppercase;
	letter-spacing: 0;
	text-align: center;
	position: relative;
	z-index: 4;
}

/* Diagonal SVG watermark anchored to bottom-right of the OUTER card
   (not the inner bar) so it extends slightly past the card edge as in
   legacy. SVG carries an embedded base64 PNG of the squared Coach O
   logo — same image on every card. */
.coach-o-program-card.wp-block-group::after {
	content: "";
	position: absolute;
	right: -2px;
	bottom: -10px;
	width: 154px;
	height: 92px;
	background-image: url('/wp-content/themes/coach-o/assets/images/programs/program-card-watermark.svg');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: bottom right;
	pointer-events: none;
	z-index: 2;
}

/* --- Sidebar promo cards --- */
.coach-o-sidebar-cta {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

/* Synced pattern (wp:block) wrappers don't always inherit parent width.
   Force every direct child of the sidebar group — cover or wp:block ref —
   to fill the column so cards stack at uniform width. */
.coach-o-sidebar-cta > * {
	width: 100%;
	max-width: 100%;
	align-self: stretch;
}

.coach-o-sidebar-cta .coach-o-promo-card.wp-block-cover {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
	border-radius: 12px !important;
	overflow: hidden;
	box-shadow: 0 12px 38px 0 rgba(0, 0, 0, 0.15);
	min-height: 138px !important;
	padding: 30px 30px 35px !important;
	align-items: stretch;
	justify-content: stretch;
}

.coach-o-sidebar-cta .coach-o-promo-card .wp-block-cover__image-background {
	object-fit: cover;
	object-position: right;
}

.coach-o-sidebar-cta .coach-o-promo-card .wp-block-cover__background {
	background-color: transparent !important;
}

.coach-o-sidebar-cta .coach-o-promo-card .wp-block-cover__inner-container {
	width: 100%;
	padding: 0;
	margin: 0;
}

/* Title (heading) */
.coach-o-sidebar-cta .coach-o-promo-card-title {
	position: relative;
	z-index: 2;
	font-family: var(--wp--preset--font-family--unbounded), "Unbounded", sans-serif;
	font-weight: 700;
	font-size: 1.125rem;
	line-height: 22px;
	color: #ffffff;
	text-transform: uppercase;
	margin: 0 0 24px 0;
	width: 70%;
	max-width: 70%;
}

.coach-o-sidebar-cta .coach-o-promo-card-title a {
	color: inherit;
	text-decoration: none;
}

/* Description (last card only) */
.coach-o-sidebar-cta .coach-o-promo-card-desc {
	position: relative;
	z-index: 2;
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif;
	font-weight: 500;
	font-size: 1.125rem;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.8);
	margin: 0 0 24px 0;
	width: 70%;
	max-width: 70%;
}

/* CTA paragraph + LEARN MORE link with arrow icon ::after */
.coach-o-sidebar-cta .coach-o-promo-card-cta {
	position: relative;
	z-index: 2;
	margin: 0;
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif;
	font-weight: 700;
	font-size: 1.125rem;
	line-height: 21px;
}

.coach-o-sidebar-cta .coach-o-promo-card-cta a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #ffffff;
	text-decoration: none;
}

.coach-o-sidebar-cta .coach-o-promo-card-cta a::after {
	content: '';
	display: inline-block;
	width: 12px;
	height: 14px;
	background-image: url('../images/promo-icons/arrow-right.svg');
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	flex-shrink: 0;
}

.coach-o-sidebar-cta .coach-o-promo-card:hover .coach-o-promo-card-cta a,
.coach-o-sidebar-cta .coach-o-promo-card:hover .coach-o-promo-card-title a {
	color: #ffcccc;
}

/* Watermark (figure with inner img) */
.coach-o-sidebar-cta .coach-o-promo-card-watermark {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 18px;
	margin: 0;
	pointer-events: none;
	z-index: 1;
	opacity: 0.95;
}

.coach-o-sidebar-cta .coach-o-promo-card-watermark img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: contain;
	object-position: center;
}

/* Default style — small icon */
.coach-o-sidebar-cta .coach-o-promo-card.is-style-default .coach-o-promo-card-watermark {
	width: 58.267px;
	height: 57.656px;
}

/* Highlight style — bigger watermark (3rd item) */
.coach-o-sidebar-cta .coach-o-promo-card.is-style-highlight .coach-o-promo-card-watermark {
	width: 97px;
	height: 97px;
}

/* Last-item style — taller card; watermark anchored 11% from top (matches live)
   and capped at 80px on mobile, full-size on desktop. */
.coach-o-sidebar-cta .coach-o-promo-card.is-style-last.wp-block-cover {
	min-height: 171px !important;
}

.coach-o-sidebar-cta .coach-o-promo-card.is-style-last .coach-o-promo-card-watermark {
	top: 11%;
	transform: none;
	right: 18px;
	width: 80px;
	height: 80px;
	opacity: 1;
}

@media (min-width: 768px) {
	.coach-o-sidebar-cta .coach-o-promo-card.is-style-default .coach-o-promo-card-watermark,
	.coach-o-sidebar-cta .coach-o-promo-card.is-style-highlight .coach-o-promo-card-watermark,
	.coach-o-sidebar-cta .coach-o-promo-card.is-style-last .coach-o-promo-card-watermark {
		right: 26px;
	}
}

@media (min-width: 1280px) {
	.coach-o-sidebar-cta .coach-o-promo-card.is-style-default .coach-o-promo-card-watermark {
		right: 36px;
	}
	.coach-o-sidebar-cta .coach-o-promo-card.is-style-highlight .coach-o-promo-card-watermark {
		right: 30px;
	}
	.coach-o-sidebar-cta .coach-o-promo-card.is-style-last .coach-o-promo-card-watermark {
		right: -5px;
		width: 140px;
		height: auto;
		top: 0px;
	}
}

/* --- Sidebar social row (Coach O Social Profiles synced pattern) --- */
.coach-o-sidebar-cta .coach-o-social-links {
	padding-top: 28px;
	gap: 24px;
	flex-wrap: nowrap;
	align-items: center;
}

.coach-o-sidebar-cta .coach-o-social-icon {
	margin: 0;
	flex: 0 0 auto;
	line-height: 0;
}

.coach-o-sidebar-cta .coach-o-social-icon a {
	display: inline-block;
	line-height: 0;
}

.coach-o-sidebar-cta .coach-o-social-icon,
.coach-o-sidebar-cta .coach-o-social-icon a,
.coach-o-sidebar-cta .coach-o-social-icon img {
	width: 40px !important;
	height: 40px !important;
	max-width: 40px;
}

.coach-o-sidebar-cta .coach-o-social-icon img {
	display: block;
	object-fit: contain;
}

.coach-o-sidebar-cta .coach-o-social-icon a:hover img {
	opacity: 0.7;
	transition: opacity 0.15s ease;
}

@media (max-width: 768px) {
	.coach-o-sidebar-cta .coach-o-social-links {
		gap: 12px;
	}
}

/* Legacy fallback: keep working if any page still has the old
   wp:social-links block instead of the synced pattern reference.
   The page renders WP's default 24px SVGs inside .wp-social-link <li>
   items; we hide those SVGs and paint our own 40x40 brand icons via
   background-image so the visual matches live without needing the
   page re-seeded to the new synced pattern. */
.coach-o-sidebar-socials.wp-block-social-links {
	padding-top: 28px;
	gap: 24px;
	align-items: center;
}

.coach-o-sidebar-socials .wp-social-link,
.coach-o-sidebar-socials .wp-block-social-link {
	width: 40px !important;
	height: 40px !important;
	background-color: transparent !important;
	margin: 0 !important;
	padding: 0 !important;
	background-size: 40px 40px;
	background-position: center;
	background-repeat: no-repeat;
	transition: opacity 0.2s ease;
	border-radius: 0 !important;
}

.coach-o-sidebar-socials .wp-social-link:hover {
	opacity: 0.6;
}

.coach-o-sidebar-socials .wp-social-link a,
.coach-o-sidebar-socials .wp-block-social-link-anchor {
	width: 40px;
	height: 40px;
	padding: 0 !important;
	display: block;
}

.coach-o-sidebar-socials .wp-social-link svg,
.coach-o-sidebar-socials .wp-block-social-link-label {
	display: none !important;
}

.coach-o-sidebar-socials .wp-social-link-facebook {
	background-image: url('/wp-content/themes/coach-o/assets/images/social-icons/facebook.svg');
}
.coach-o-sidebar-socials .wp-social-link-x,
.coach-o-sidebar-socials .wp-social-link-twitter {
	background-image: url('/wp-content/themes/coach-o/assets/images/social-icons/x.svg');
}
.coach-o-sidebar-socials .wp-social-link-instagram {
	background-image: url('/wp-content/themes/coach-o/assets/images/social-icons/instagram.svg');
}
.coach-o-sidebar-socials .wp-social-link-linkedin {
	background-image: url('/wp-content/themes/coach-o/assets/images/social-icons/linkedin.svg');
}
.coach-o-sidebar-socials .wp-social-link-threads {
	background-image: url('/wp-content/themes/coach-o/assets/images/social-icons/threads.svg');
}

@media (max-width: 767px) {
	.coach-o-sidebar-socials.wp-block-social-links {
		gap: 12px;
	}

	.coach-o-sidebar-socials .wp-social-link,
	.coach-o-sidebar-socials .wp-block-social-link {
		width: 30px !important;
		height: 30px !important;
		background-size: 30px 30px;
	}

	.coach-o-sidebar-socials .wp-social-link a,
	.coach-o-sidebar-socials .wp-block-social-link-anchor {
		width: 30px;
		height: 30px;
	}

	/* Synced-pattern path: shrink the figure/anchor/img to 30px on mobile too */
	.coach-o-sidebar-cta .coach-o-social-icon,
	.coach-o-sidebar-cta .coach-o-social-icon a,
	.coach-o-sidebar-cta .coach-o-social-icon img {
		width: 30px !important;
		height: 30px !important;
		max-width: 30px;
	}
}

/* -------------------------------------------------------------------------
   Our Staff page: section + responsive grid + card
   Mirrors legacy template layout (max-w 1654, gap-x 30 / gap-y 60,
   centered flex-wrap rows). Cards render via coach-o/staff-card dynamic
   block driven by the coacho_staff CPT.
   ------------------------------------------------------------------------- */

.coach-o-staff-section {
	padding: 60px 1rem !important;
	margin: 0 auto !important;
}

@media (min-width: 1024px) {
	.coach-o-staff-section {
		padding: 130px 1rem !important;
	}
}

.coach-o-staff-grid.wp-block-query {
	margin: 0 auto !important;
}

.coach-o-staff-grid .wp-block-post-template {
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	gap: 30px 30px !important;
	row-gap: 30px !important;
	column-gap: 30px !important;
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

@media (min-width: 768px) {
	.coach-o-staff-grid .wp-block-post-template {
		row-gap: 60px !important;
	}
}

.coach-o-staff-grid .wp-block-post-template > li {
	margin: 0 !important;
	flex: 0 1 100%;
	max-width: 100%;
	list-style: none;
}

/* 3 per row from md up. Card max-width matches legacy caps so photos
   render at the intended physical size; flex-basis takes from the
   available row width and justify-center keeps cards centered. */
@media (min-width: 768px) {
	.coach-o-staff-grid .wp-block-post-template > li {
		flex: 0 1 calc(33.333% - 20px);
		max-width: 224px;
	}
}

@media (min-width: 1024px) {
	.coach-o-staff-grid .wp-block-post-template > li {
		max-width: 300px;
	}
}

@media (min-width: 1280px) {
	.coach-o-staff-grid .wp-block-post-template > li {
		max-width: 383px;
	}
}

/* 4 per row above 1600px (large desktop). */
@media (min-width: 1601px) {
	.coach-o-staff-grid .wp-block-post-template > li {
		flex: 0 1 calc(25% - 22.5px);
		max-width: 383px;
	}
}

/* Card — wraps photo + info. Becomes <a> when an email is set, else <div>. */
.coach-o-staff-card {
	display: block;
	width: 100%;
	color: inherit;
	text-decoration: none;
}

.coach-o-staff-card:hover .coach-o-staff-card-name {
	color: var(--wp--preset--color--coach-red, #cc0000);
}

.coach-o-staff-card-photo {
	position: relative;
	width: 100%;
	max-height: 438px;
	border-radius: 12px;
	overflow: hidden;
}

.coach-o-staff-card-photo .coach-o-staff-card-photo-img,
.coach-o-staff-card-photo img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 438px;
	object-fit: contain;
	margin: 0;
}

.coach-o-staff-card-info {
	margin-top: 8px;
}

/* Mobile only — nudge the info block 10px right so name/designation
   visually align with the photo's rounded-corner inset. Reset above. */
@media (max-width: 767px) {
	.coach-o-staff-card-info {
		margin-left: 10px;
	}
}

@media (min-width: 640px) {
	.coach-o-staff-card-info {
		margin-top: 16px;
	}
}

@media (min-width: 768px) {
	.coach-o-staff-card-info {
		margin-top: 24px;
	}
}

.coach-o-staff-card-name {
	margin: 0 !important;
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif !important;
	font-weight: 700 !important;
	font-size: 28px !important;
	line-height: 100% !important;
	letter-spacing: 0 !important;
	color: #111111 !important;
}

@media (min-width: 1280px) {
	.coach-o-staff-card-name {
		font-size: 32px !important;
	}
}

.coach-o-staff-card-designation {
	position: relative;
	margin: 16px 0 0 0 !important;
	padding-left: 12px !important;
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif !important;
	font-weight: 700 !important;
	font-size: 18px !important;
	line-height: 22px !important;
	color: var(--wp--preset--color--coach-red, #cc0000) !important;
}

.coach-o-staff-card-designation::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 2px;
	height: 100%;
	background-color: #FF0000;
	border-radius: 10px;
}

/* Phone-only adjustments handled inside the wider <1280 stacking rule above */

/* -------------------------------------------------------------------------
   Latest News page: section + grid + news card + pagination
   Mirrors legacy templates/latest-news.php layout (2/3 + 1/3 columns,
   stacked 322px square thumb on the left, content on the right at desktop).
   ------------------------------------------------------------------------- */

.coach-o-news-section {
	padding: 60px 1rem !important;
	margin: 0 auto !important;
}

@media (min-width: 1024px) {
	.coach-o-news-section {
		padding: 130px 1rem !important;
	}
}

.coach-o-news-grid.wp-block-columns {
	gap: 30px !important;
}

@media (max-width: 1023px) {
	.coach-o-news-grid.wp-block-columns,
	.wp-block-columns.coach-o-news-grid {
		flex-direction: column !important;
		flex-wrap: wrap !important;
	}
	.coach-o-news-grid.wp-block-columns > .wp-block-column,
	.coach-o-news-grid.wp-block-columns > .wp-block-column.coach-o-news-grid-content,
	.coach-o-news-grid.wp-block-columns > .wp-block-column.coach-o-news-grid-sidebar {
		flex-basis: 100% !important;
		flex-grow: 1 !important;
		min-width: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
	}
	.coach-o-news-grid-sidebar {
		position: static !important;
		top: auto !important;
		align-self: auto !important;
	}
}

@media (min-width: 1024px) {
	.coach-o-news-grid.wp-block-columns {
		flex-wrap: nowrap !important;
	}
	.coach-o-news-grid-content {
		flex-basis: 66.66% !important;
	}
	.coach-o-news-grid-sidebar {
		flex-basis: 33.33% !important;
		position: sticky;
		top: 150px;
		align-self: flex-start;
	}
}

/* Post template list — vertical stack of cards with separators between. */
.coach-o-news-list .wp-block-post-template {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.coach-o-news-list .wp-block-post-template > li {
	list-style: none;
	margin: 0 !important;
	padding: 0 !important;
}

/* News card itself */
.coach-o-news-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
	padding: 40px 0;
	border-bottom: 1px solid #08090d;
}

.coach-o-news-list .wp-block-post-template > li:first-child .coach-o-news-card {
	padding-top: 0;
}

.coach-o-news-list .wp-block-post-template > li:last-child .coach-o-news-card {
	padding-bottom: 0;
	border-bottom: none;
}

@media (min-width: 768px) {
	.coach-o-news-card {
		flex-direction: row;
		align-items: center;
		gap: 34px;
		padding-right: 60px;
	}
}

@media (min-width: 1280px) {
	.coach-o-news-card {
		padding-right: 113px;
	}
}

.coach-o-news-card-thumb {
	display: block;
	flex: 0 0 auto;
	width: 100%;
	overflow: hidden;
	border-radius: 6px;
}

@media (min-width: 768px) {
	.coach-o-news-card-thumb {
		width: 322px;
		height: 322px;
	}
}

.coach-o-news-card-thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.coach-o-news-card-body {
	flex: 1 1 auto;
	width: 100%;
}

.coach-o-news-card-meta {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 12px;
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 19px;
	text-transform: uppercase;
	color: #000;
}

.coach-o-news-card-title {
	margin: 0 0 12px 0 !important;
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif !important;
	font-weight: 700 !important;
	font-size: 28px !important;
	line-height: 34px !important;
	color: #08090d !important;
}

@media (min-width: 1024px) {
	.coach-o-news-card-title {
		font-size: 32px !important;
		line-height: 38px !important;
	}
}

.coach-o-news-card-title a {
	color: inherit;
	text-decoration: none;
}

.coach-o-news-card-title a:hover {
	color: #ff0000;
}

/* Tags row — pill-style, with the same 2px red accent bars as the
   legacy .blog-post-tag pseudo-elements. */
.coach-o-news-card-tags {
	list-style: none;
	margin: 0 0 12px 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.coach-o-news-card-tag {
	position: relative;
	display: inline-block;
	padding: 2px 12px;
	background: #ffe5e5;
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif;
	font-weight: 700;
	font-size: 14px;
	line-height: 20px;
	color: #ff0000;
}

.coach-o-news-card-tag::before,
.coach-o-news-card-tag::after {
	content: "";
	position: absolute;
	top: 0;
	width: 2px;
	height: 100%;
	background: #ff0000;
	border-radius: 50px;
}

.coach-o-news-card-tag::before { left: 0; }
.coach-o-news-card-tag::after  { right: 0; }

.coach-o-news-card-tag a {
	color: inherit;
	text-decoration: none;
}

.coach-o-news-card-tag a:hover {
	text-decoration: underline;
}

.coach-o-news-card-excerpt {
	margin: 0 0 12px 0 !important;
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif !important;
	font-style: italic;
	font-weight: 700;
	font-size: 18px;
	line-height: 24px;
	color: #08090d;
}

@media (min-width: 1024px) {
	.coach-o-news-card-excerpt {
		font-size: 20px;
		line-height: 28px;
	}
}

.coach-o-news-card-powered-by {
	margin: 0 0 24px 0 !important;
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif !important;
	font-weight: 700;
	font-size: 18px;
	line-height: 22px;
	color: #ff0000;
}

.coach-o-news-card-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: max-content;
	padding: 16px 32px;
	background: #ff0000;
	color: #ffffff;
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif;
	font-weight: 700;
	font-size: 18px;
	line-height: 1.2;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 8px;
	border: 1px solid #ff0000;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}

.coach-o-news-card-button:hover {
	background: transparent;
	color: #ff0000;
	border-color: #ff0000;
}

/* Pagination — uniform 38x38 squares (numbers + arrows). */
.coach-o-news-pagination {
	margin-top: 24px !important;
	gap: 0 !important;
}

.coach-o-news-pagination .wp-block-query-pagination-numbers {
	display: inline-flex;
	align-items: center;
	gap: 0;
}

.coach-o-news-pagination .page-numbers,
.coach-o-news-pagination .coach-o-news-pagination-prev,
.coach-o-news-pagination .coach-o-news-pagination-next {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	margin: 0 4px;
	padding: 0;
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif;
	font-weight: 700;
	font-size: 1.125rem;
	line-height: 1.75rem;
	color: #08090d;
	background: transparent;
	border: 2px solid #08090d;
	border-radius: 0.5rem;
	text-decoration: none;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}

.coach-o-news-pagination .page-numbers:hover,
.coach-o-news-pagination a.coach-o-news-pagination-prev:hover,
.coach-o-news-pagination a.coach-o-news-pagination-next:hover {
	background: #08090d;
	color: #ffffff;
}

.coach-o-news-pagination .page-numbers.current {
	background: #ff0000;
	color: #ffffff;
	border-color: #ff0000;
}

.coach-o-news-pagination .page-numbers.dots {
	border: none;
	background: transparent;
}

.coach-o-news-pagination .coach-o-news-pagination-prev.is-disabled,
.coach-o-news-pagination .coach-o-news-pagination-next.is-disabled {
	color: #c5c5c5;
	border-color: #c5c5c5;
	cursor: not-allowed;
	pointer-events: none;
}

/* ============================================================
 * Single post template (templates/single.html)
 * Hero: track banner bg + huge centered uppercase title.
 * Body: centered featured image (382x382) + post content.
 * No sidebar (legacy parity).
 * ============================================================ */

.coach-o-single-hero {
	min-height: auto !important;
	padding: 60px 16px !important;
}

@media (min-width: 768px) {
	.coach-o-single-hero {
		padding: 104px 16px 80px !important;
	}
}

.coach-o-single-hero-title {
	color: #ffffff !important;
	font-family: var(--wp--preset--font-family--unbounded), "Unbounded", sans-serif !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0 !important;
	font-size: 36px !important;
	line-height: 1.2 !important;
	margin: 0 auto !important;
	max-width: 1652px;
}

@media (min-width: 640px) {
	.coach-o-single-hero-title {
		font-size: 48px !important;
	}
}

@media (min-width: 768px) {
	.coach-o-single-hero-title {
		font-size: 64px !important;
	}
}

@media (min-width: 1024px) {
	.coach-o-single-hero-title {
		font-size: 90px !important;
		line-height: 112px !important;
	}
}

.coach-o-single-body {
	padding: 60px 16px !important;
}

@media (min-width: 768px) {
	.coach-o-single-body {
		padding: 130px 16px !important;
	}
}

.coach-o-single-thumbnail {
	margin: 0 auto 40px !important;
	width: 100%;
	max-width: 382px;
}

.coach-o-single-thumbnail img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 6px;
}

.coach-o-single-content {
	color: #1a1a1a;
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 22px;
	letter-spacing: 0;
}

.coach-o-single-content p {
	margin: 0 0 16px;
}

@media (min-width: 640px) {
	.coach-o-single-content {
		font-size: 18px;
		line-height: 26px;
	}
}

@media (min-width: 768px) {
	.coach-o-single-content {
		font-size: 20px;
		line-height: 30px;
	}
}

@media (min-width: 1024px) {
	.coach-o-single-content {
		font-size: 24px;
		line-height: 34px;
	}
}

/* "Play Episode" button inside single post body — full-width red pill
   matching legacy. Catches all common variants:
   - Raw <a> with legacy Tailwind classes (rounded-full, bg-ff-red, etc.)
   - Core wp-block-button (default + is-style-outline variants)
   The button on legacy is a wide pill so we make it block + 100% width. */
.coach-o-single-body a.rounded-full,
.coach-o-single-body a.bg-ff-red,
.coach-o-single-body .wp-block-button__link,
.coach-o-single-body .wp-block-button.is-style-outline .wp-block-button__link {
	display: block !important;
	width: 100% !important;
	max-width: 100%;
	box-sizing: border-box;
	padding: 18px 32px !important;
	background: transparent !important;
	color: #08090d !important;
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif !important;
	font-weight: 700 !important;
	font-size: 18px !important;
	line-height: 1.2 !important;
	text-align: center !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	border-radius: 9999px !important;
	border: 1px solid #08090d !important;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}

.coach-o-single-body a.rounded-full:hover,
.coach-o-single-body a.bg-ff-red:hover,
.coach-o-single-body .wp-block-button__link:hover,
.coach-o-single-body .wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: #08090d !important;
	color: #ffffff !important;
	border-color: #08090d !important;
}

.coach-o-single-body .wp-block-button {
	margin-top: 24px;
	width: 100%;
}

/* Inline links inside the post body: black, no underline (legacy parity).
   Scoped by :not(...) so the Play Episode pill / wp-block-button etc.
   above keep their red treatment. */
.coach-o-single-body p a:not(.rounded-full):not(.bg-ff-red):not(.wp-block-button__link),
.coach-o-single-body li a:not(.rounded-full):not(.bg-ff-red):not(.wp-block-button__link) {
	color: #08090d !important;
	text-decoration: none !important;
}

.coach-o-single-body p a:not(.rounded-full):not(.bg-ff-red):not(.wp-block-button__link):hover,
.coach-o-single-body li a:not(.rounded-full):not(.bg-ff-red):not(.wp-block-button__link):hover {
	text-decoration: underline !important;
}

/* ============================================================
 * Meet Subscribe form (templates/page-meet-subscribe.html)
 * Centered card with Coach O styled selects/inputs + black CTA.
 * ============================================================ */

.coach-o-meet-subscribe-section {
	padding: 60px 16px !important;
}

@media (min-width: 768px) {
	.coach-o-meet-subscribe-section {
		padding: 100px 16px !important;
	}
}

.coach-o-meet-subscribe-card {
	max-width: 560px;
	margin: 0 auto;
	background: #ffffff;
	border: 1px solid #e5e5e5;
	border-radius: 12px;
	padding: 32px 24px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, .06);
}

@media (min-width: 768px) {
	.coach-o-meet-subscribe-card {
		padding: 40px;
	}
}

.coach-o-meet-subscribe-form {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.coach-o-form-field {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.coach-o-form-label {
	display: block;
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif;
	font-weight: 600;
	font-size: 14px;
	line-height: 1.4;
	color: #08090d;
}

.coach-o-form-input {
	display: block;
	width: 100%;
	box-sizing: border-box;
	padding: 12px 14px;
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 1.4;
	color: #08090d;
	background: #ffffff;
	border: 1px solid #d0d0d0;
	border-radius: 8px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .03);
	transition: border-color .15s ease, box-shadow .15s ease;
	appearance: none;
	-webkit-appearance: none;
}

.coach-o-form-input:focus {
	outline: none;
	border-color: #08090d;
	box-shadow: 0 0 0 2px rgba(8, 9, 13, .15);
}

select.coach-o-form-input {
	background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3e%3cpath d='M1 1l5 5 5-5' stroke='%2308090d' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-position: right 14px center;
	padding-right: 36px;
}

/* Custom dropdown — replaces native <select> so we control popup width.
   Markup: .coach-o-dropdown > button.coach-o-dropdown-trigger
                            + ul.coach-o-dropdown-menu
                            + input[hidden]. */
.coach-o-dropdown {
	position: relative;
}

.coach-o-dropdown-trigger {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	cursor: pointer;
	text-align: left;
	font: inherit;
}

.coach-o-dropdown-label {
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: #777;
}

.coach-o-dropdown.has-value .coach-o-dropdown-label {
	color: #08090d;
}

.coach-o-dropdown-chevron {
	flex: 0 0 auto;
	width: 12px;
	height: 8px;
	background: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3e%3cpath d='M1 1l5 5 5-5' stroke='%2308090d' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3e%3c/svg%3e") no-repeat center / contain;
	transition: transform .15s ease;
}

.coach-o-dropdown.is-open .coach-o-dropdown-chevron {
	transform: rotate(180deg);
}

.coach-o-dropdown-menu {
	position: absolute;
	top: calc(100% + 4px);
	left: 0;
	right: 0;
	z-index: 50;
	margin: 0;
	padding: 4px 0;
	max-height: 260px;
	overflow-y: auto;
	background: #ffffff;
	border: 1px solid #d0d0d0;
	border-radius: 8px;
	box-shadow: 0 6px 20px rgba(0, 0, 0, .12);
	list-style: none;
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif;
	font-size: 16px;
	color: #08090d;
}

.coach-o-dropdown-menu[hidden] {
	display: none;
}

.coach-o-dropdown-menu li {
	padding: 10px 14px;
	cursor: pointer;
	line-height: 1.3;
}

.coach-o-dropdown-menu li:hover,
.coach-o-dropdown-menu li.is-selected {
	background: #f4f4f4;
}

.coach-o-dropdown-menu li.coach-o-dropdown-empty {
	color: #c0392b;
	cursor: default;
}

.coach-o-dropdown-menu li.coach-o-dropdown-empty:hover {
	background: transparent;
}

.coach-o-form-actions {
	margin-top: 4px;
}

.coach-o-form-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 14px 32px;
	background: #08090d;
	color: #ffffff;
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif;
	font-weight: 700;
	font-size: 16px;
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	border: 1px solid #08090d;
	border-radius: 8px;
	cursor: pointer;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}

.coach-o-form-submit:hover {
	background: transparent;
	color: #08090d;
}

@media (min-width: 768px) {
	.coach-o-form-submit {
		width: auto;
		min-width: 200px;
	}
}

.coach-o-form-message {
	min-height: 22px;
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif;
	font-size: 14px;
	line-height: 1.4;
	color: #555;
}

.coach-o-form-message[data-state="error"]   { color: #c0392b; }
.coach-o-form-message[data-state="success"] { color: #1f8a36; }
.coach-o-form-message[data-state="info"]    { color: #555; }

/* ============================================================
 * Track Officials page (templates/page-track-officials.html)
 * 2-col layout: events list (left, 2/3) + sticky sidebar (1/3).
 * Sidebar reuses .coach-o-sidebar-cta (synced promo cards + social)
 * plus two "Request" buttons styled like the legacy red CTAs.
 * ============================================================ */

.coach-o-track-officials-section {
	padding: 60px 1rem !important;
	margin: 0 auto !important;
}

@media (min-width: 1024px) {
	.coach-o-track-officials-section {
		padding: 130px 1rem 90px !important;
	}
}

.coach-o-track-officials-grid.wp-block-columns {
	gap: 29px !important;
}

@media (max-width: 1023px) {
	.coach-o-track-officials-grid.wp-block-columns,
	.wp-block-columns.coach-o-track-officials-grid {
		flex-direction: column !important;
		flex-wrap: wrap !important;
	}
	.coach-o-track-officials-grid.wp-block-columns > .wp-block-column,
	.coach-o-track-officials-grid.wp-block-columns > .wp-block-column.coach-o-track-officials-grid-content,
	.coach-o-track-officials-grid.wp-block-columns > .wp-block-column.coach-o-track-officials-grid-sidebar {
		flex-basis: 100% !important;
		flex-grow: 1 !important;
		min-width: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
	}
	.coach-o-track-officials-grid-sidebar {
		position: static !important;
		top: auto !important;
		align-self: auto !important;
	}
}

@media (min-width: 1024px) {
	.coach-o-track-officials-grid.wp-block-columns {
		flex-wrap: nowrap !important;
	}
	.coach-o-track-officials-grid-content {
		flex-basis: 66.66% !important;
	}
	.coach-o-track-officials-grid-sidebar {
		flex-basis: 33.33% !important;
		position: sticky;
		top: 150px;
		align-self: flex-start;
	}
}

/* --- Sidebar "Request …" buttons — a native core/buttons block so the
 *     list is editable/repeatable in the page editor. Styled red filled,
 *     full-width, hover → outline. Selector is specific enough to beat the
 *     generic .coach-o-sidebar-cta .wp-block-button__link rule above. --- */
.coach-o-sidebar-request-buttons.wp-block-buttons {
	display: flex;
	flex-direction: column;
	gap: 20px;
	width: 100%;
	margin: 0;
}

.coach-o-sidebar-request-buttons .wp-block-button,
.coach-o-sidebar-request-buttons .wp-block-button.has-custom-width {
	width: 100%;
	max-width: 100%;
}

.coach-o-sidebar-cta .coach-o-sidebar-request-buttons .wp-block-button__link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	box-sizing: border-box;
	padding: 16px 24px;
	background: #ff0000;
	color: #ffffff;
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif;
	font-weight: 700;
	font-size: 18px;
	line-height: 1.2;
	text-align: center;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 8px;
	border: 1px solid #ff0000;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}

.coach-o-sidebar-cta .coach-o-sidebar-request-buttons .wp-block-button__link:hover {
	background: transparent;
	color: #ff0000;
	border-color: #ff0000;
	filter: none;
}

/* --- Events list (rendered by coach-o/track-officials-events) --- */
.coach-o-events-month {
	margin-bottom: 0;
}

.coach-o-events-month + .coach-o-events-month {
	margin-top: 8px;
}

.coach-o-events-month-heading {
	display: block;
	margin: 0 0 40px;
	padding: 12px 24px;
	background: #08090d;
	color: #ffffff;
	font-family: var(--wp--preset--font-family--unbounded), "Unbounded", sans-serif;
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 0.02em;
	text-align: center;
	text-transform: uppercase;
	border-radius: 10px;
}

.coach-o-events-empty {
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif;
	color: #555;
}

/* Event card — image left, details right on desktop; stacked on mobile. */
.coach-o-event-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 34px;
	padding-bottom: 40px;
}

@media (min-width: 768px) {
	.coach-o-event-card {
		flex-direction: row;
		align-items: flex-start;
	}
}

.coach-o-event-card-thumb {
	width: 100%;
	flex-shrink: 0;
}

@media (min-width: 768px) {
	.coach-o-event-card-thumb {
		width: 382px;
		height: 322px;
	}
}

.coach-o-event-card-thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	border-radius: 6px;
}

.coach-o-event-card-body {
	flex: 1 1 auto;
	width: 100%;
	min-width: 0;
}

.coach-o-event-card-date {
	margin: 0 0 12px;
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif;
	font-weight: 600;
	font-size: 14px;
	color: #08090d;
}

.coach-o-event-card-title {
	margin: 0 0 12px;
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif;
	font-weight: 700;
	font-size: 32px;
	line-height: 40px;
	color: #08090d;
}

.coach-o-event-card-presented {
	margin: 0 0 24px;
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif;
	font-weight: 700;
	font-size: 18px;
	color: #ff0000;
}

.coach-o-event-card-block {
	margin-bottom: 32px;
}

.coach-o-event-card-block-label {
	margin: 0 0 16px;
	font-family: var(--wp--preset--font-family--unbounded), "Unbounded", sans-serif;
	font-weight: 700;
	font-size: 14px;
	text-transform: uppercase;
	color: #000000;
}

.coach-o-event-card-block-body {
	position: relative;
	padding-left: 14px;
}

.coach-o-event-card-block-body::before {
	content: "";
	position: absolute;
	left: 0;
	top: 2px;
	bottom: 2px;
	width: 3px;
	background: #ff0000;
	border-radius: 2px;
}

.coach-o-event-card-contact-name,
.coach-o-event-card-location {
	margin: 0 0 6px;
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif;
	font-weight: 700;
	font-size: 14px;
	color: #08090d;
}

.coach-o-event-card-contact-email {
	margin: 0;
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif;
	font-weight: 600;
	font-size: 14px;
}

.coach-o-event-card-contact-email a {
	color: #08090d;
	text-decoration: none;
}

.coach-o-event-card-contact-email a:hover {
	text-decoration: underline;
}

/* Application buttons row */
.coach-o-event-card-actions {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

@media (min-width: 1536px) {
	.coach-o-event-card-actions {
		flex-direction: row;
		gap: 24px;
	}
}

.coach-o-event-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px 32px;
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif;
	font-weight: 700;
	font-size: 18px;
	line-height: 1.2;
	text-align: center;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 8px;
	border: 1px solid transparent;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}

.coach-o-event-btn--outline {
	background: transparent;
	color: #ff0000;
	border-color: #ff0000;
}

.coach-o-event-btn--outline:hover {
	background: #ff0000;
	color: #ffffff;
}

.coach-o-event-btn--filled {
	background: #ff0000;
	color: #ffffff;
	border-color: #ff0000;
}

.coach-o-event-btn--filled:hover {
	background: transparent;
	color: #ff0000;
	border-color: #ff0000;
}

.coach-o-event-btn--disabled {
	background: #a7a7a7;
	color: #ffffff;
	border-color: #a7a7a7;
	cursor: not-allowed;
	pointer-events: none;
}
/* ============================================================
 * Application Form pages (templates/page-application-form.html)
 * Block-built: coach-o/application-banner (hero) + a wp:columns 66/33
 * with a core/shortcode block (the form, left) and the shared sidebar (right).
 *   - .coach-o-application-missing   — invalid/missing ?application_id
 *   - .coach-o-application-banner     — event banner (image + details)
 *   - .coach-o-application-section    — 2-col form + sidebar (wp:columns)
 * ============================================================ */

/* --- "This application does not exist" --- */
.coach-o-application-missing {
	background-size: cover;
	background-position: bottom;
	background-repeat: no-repeat;
}

.coach-o-application-missing-inner {
	max-width: 1652px;
	margin: 0 auto;
	padding: 60px 1rem;
	text-align: center;
}

@media (min-width: 768px) {
	.coach-o-application-missing-inner {
		padding: 154px 2rem 130px;
	}
}

.coach-o-application-missing-inner h1 {
	margin: 0;
	color: #ffffff;
	font-family: var(--wp--preset--font-family--unbounded), "Unbounded", sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	font-size: 1.5rem;
	line-height: 34px;
}

@media (min-width: 640px)  { .coach-o-application-missing-inner h1 { font-size: 1.875rem; } }
@media (min-width: 768px)  { .coach-o-application-missing-inner h1 { font-size: 2.25rem; line-height: 60px; } }
@media (min-width: 1024px) { .coach-o-application-missing-inner h1 { font-size: 3rem; } }
@media (min-width: 1280px) { .coach-o-application-missing-inner h1 { font-size: 48px; } }

.coach-o-application-missing-inner h1 a {
	color: #ff0000;
	text-decoration: underline;
}

/* --- Event banner --- */
.coach-o-application-banner {
	position: relative;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	padding: 64px 1rem;
}

@media (min-width: 768px) {
	.coach-o-application-banner {
		padding: 118px 1rem 85px;
	}
}

.coach-o-application-banner-inner {
	max-width: 1652px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 32px;
}

@media (min-width: 768px) {
	.coach-o-application-banner-inner {
		flex-direction: row;
		align-items: flex-start;
	}
}

.coach-o-application-banner-image {
	flex-shrink: 0;
	width: 100%;
	max-width: 383px;
}

.coach-o-application-banner-image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 6px;
}

/* Tablet (two-column banner, but the form below is stacked): shrink the logo. */
@media (min-width: 768px) and (max-width: 1023px) {
	.coach-o-application-banner-image {
		max-width: 220px;
	}
}

.coach-o-application-banner-text {
	flex: 1 1 auto;
	min-width: 0;
}

.coach-o-application-banner-meta {
	display: flex;
	align-items: center;
	gap: 24px;
	margin-bottom: 12px;
}

.coach-o-application-back {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif;
	font-weight: 700;
	font-size: 16px;
	line-height: 22px;
	text-transform: uppercase;
	text-decoration: none;
	color: #ff0000;
}

.coach-o-application-back:hover {
	text-decoration: underline;
}

.coach-o-application-date {
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif;
	font-weight: 600;
	font-size: 18px;
	line-height: 22px;
	color: #ffffff;
}

.coach-o-application-title {
	margin: 0 0 24px;
	color: #ffffff;
	font-family: var(--wp--preset--font-family--unbounded), "Unbounded", sans-serif;
	font-weight: 700;
	font-size: 30px;
	line-height: 45px;
	text-transform: uppercase;
}

@media (min-width: 768px) {
	.coach-o-application-title { font-size: 36px; }
}

.coach-o-application-coord {
	margin-bottom: 24px;
}

.coach-o-application-coord-title {
	margin: 0 0 24px;
	color: #ffffff;
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif;
	font-weight: 700;
	font-size: 24px;
	line-height: 29px;
	text-transform: uppercase;
}

.coach-o-application-coord-body {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

@media (min-width: 1024px) {
	.coach-o-application-coord-body {
		flex-direction: row;
		align-items: center;
		gap: 20px;
	}
	.coach-o-application-coord-body .coach-o-application-coord-name {
		padding-right: 20px;
		border-right: 1px solid rgba(255, 255, 255, .4);
	}
}

.coach-o-application-coord-name,
.coach-o-application-coord-email {
	margin: 0;
	color: #ffffff;
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif;
	font-weight: 500;
	font-size: 18px;
	line-height: 22px;
}

.coach-o-application-coord-email {
	display: flex;
	align-items: center;
	gap: 10px;
}

.coach-o-application-coord-email-icon {
	flex-shrink: 0;
	display: inline-flex;
	width: 22px;
}

.coach-o-application-coord-email-icon svg {
	display: block;
	width: 100%;
	height: auto;
}

.coach-o-application-coord-email a {
	color: #ffffff;
	text-decoration: none;
}

.coach-o-application-coord-email a:hover {
	color: #ff0000;
}

.coach-o-application-subtitle {
	margin: 0 0 24px;
	color: #ffffff;
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif;
	font-weight: 700;
	font-size: 24px;
	line-height: 29px;
	text-transform: uppercase;
}

.coach-o-application-location {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	color: #ffffff;
}

.coach-o-application-location-icon {
	flex-shrink: 0;
	display: inline-flex;
	width: 18px;
	margin-top: 2px;
}

.coach-o-application-location-icon svg {
	display: block;
	width: 100%;
	height: auto;
}

.coach-o-application-location-body {
	display: flex;
	flex-direction: column;
}

.coach-o-application-location-title {
	margin: 0 0 10px;
	font-family: var(--wp--preset--font-family--unbounded), "Unbounded", sans-serif;
	font-weight: 700;
	font-size: 15px;
	line-height: 20px;
	text-transform: uppercase;
}

@media (min-width: 640px) {
	.coach-o-application-location-title { font-size: 16px; }
}

.coach-o-application-location-text {
	margin: 0;
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 22px;
}

@media (min-width: 640px) {
	.coach-o-application-location-text { font-size: 18px; }
}

/* --- Form + sidebar layout (a wp:columns 66/33, like Latest News) --- */
.coach-o-application-section {
	padding: 60px 1rem !important;
	margin: 0 auto !important;
}

@media (min-width: 1024px) {
	.coach-o-application-section {
		padding: 130px 1rem !important;
	}
}

.coach-o-application-grid.wp-block-columns {
	gap: 30px !important;
}

@media (max-width: 1023px) {
	.coach-o-application-grid.wp-block-columns,
	.wp-block-columns.coach-o-application-grid {
		flex-direction: column !important;
		flex-wrap: wrap !important;
	}
	.coach-o-application-grid.wp-block-columns > .wp-block-column,
	.coach-o-application-grid.wp-block-columns > .wp-block-column.coach-o-application-grid-content,
	.coach-o-application-grid.wp-block-columns > .wp-block-column.coach-o-application-grid-sidebar {
		flex-basis: 100% !important;
		flex-grow: 1 !important;
		min-width: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
	}
	.coach-o-application-grid-sidebar {
		position: static !important;
		top: auto !important;
		align-self: auto !important;
	}
}

@media (min-width: 1024px) {
	.coach-o-application-grid.wp-block-columns {
		flex-wrap: nowrap !important;
	}
	.coach-o-application-grid-content {
		flex-basis: 66.66% !important;
	}
	.coach-o-application-grid-sidebar {
		flex-basis: 33.33% !important;
		position: sticky;
		top: 150px;
		align-self: flex-start;
	}
}

/* ============================================================
 * Request Registration pages (templates/page-request-registration.html)
 * Same wp:columns 66/33 form + sidebar layout as the Application pages:
 * left = a Gravity Forms shortcode block, right = the shared sidebar.
 * (Legacy spacing: my-[60px] mobile, mt-[130px] mb-[90px] desktop.)
 * ============================================================ */
.coach-o-request-section {
	padding: 60px 1rem !important;
	margin: 0 auto !important;
}

@media (min-width: 1024px) {
	.coach-o-request-section {
		padding: 130px 1rem 90px !important;
	}
}

.coach-o-request-grid.wp-block-columns {
	gap: 30px !important;
}

@media (max-width: 1023px) {
	.coach-o-request-grid.wp-block-columns,
	.wp-block-columns.coach-o-request-grid {
		flex-direction: column !important;
		flex-wrap: wrap !important;
	}
	.coach-o-request-grid.wp-block-columns > .wp-block-column,
	.coach-o-request-grid.wp-block-columns > .wp-block-column.coach-o-request-grid-content,
	.coach-o-request-grid.wp-block-columns > .wp-block-column.coach-o-request-grid-sidebar {
		flex-basis: 100% !important;
		flex-grow: 1 !important;
		min-width: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
	}
	.coach-o-request-grid-sidebar {
		position: static !important;
		top: auto !important;
		align-self: auto !important;
	}
}

@media (min-width: 1024px) {
	.coach-o-request-grid.wp-block-columns {
		flex-wrap: nowrap !important;
	}
	.coach-o-request-grid-content {
		flex-basis: 66.66% !important;
	}
	.coach-o-request-grid-sidebar {
		flex-basis: 33.33% !important;
		position: sticky;
		top: 150px;
		align-self: flex-start;
	}
}

/* ============================================================
 * O Promotions page (templates/page-o-promotions.html)
 * Hero (icon + title) + a wp:columns 66/33: the O-Promotions content
 * blocks on the left, the shared sidebar on the right.
 * ============================================================ */

/* --- Hero variant: icon + title, pt-[60px] pb-[40px] mobile / pt-[104px] pb-[80px] desktop --- */
.coach-o-page-hero--o-promotions.wp-block-cover {
	min-height: 0 !important;
	padding: 60px 1rem 40px !important;
}
@media (min-width: 768px) {
	.coach-o-page-hero--o-promotions.wp-block-cover {
		padding: 104px 2rem 80px !important;
	}
}

/* --- Section + 66/33 grid --- */
.coach-o-promo-section {
	padding: 60px 1rem !important;
	margin: 0 auto !important;
}
@media (min-width: 1024px) {
	.coach-o-promo-section { padding: 130px 1rem !important; }
}

.coach-o-promo-grid.wp-block-columns {
	gap: 30px !important;
}
@media (max-width: 1023px) {
	.coach-o-promo-grid.wp-block-columns,
	.wp-block-columns.coach-o-promo-grid {
		flex-direction: column !important;
		flex-wrap: wrap !important;
	}
	.coach-o-promo-grid.wp-block-columns > .wp-block-column,
	.coach-o-promo-grid.wp-block-columns > .wp-block-column.coach-o-promo-grid-content,
	.coach-o-promo-grid.wp-block-columns > .wp-block-column.coach-o-promo-grid-sidebar {
		flex-basis: 100% !important;
		flex-grow: 1 !important;
		min-width: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
	}
	.coach-o-promo-grid-sidebar {
		position: static !important;
		top: auto !important;
		align-self: auto !important;
	}
}
@media (min-width: 1024px) {
	.coach-o-promo-grid.wp-block-columns { flex-wrap: nowrap !important; }
	.coach-o-promo-grid-content { flex-basis: 66.66% !important; }
	.coach-o-promo-grid-sidebar {
		flex-basis: 33.33% !important;
		position: sticky;
		top: 150px;
		align-self: flex-start;
	}
}

/* Stack the left column's items with breathing room. */
.coach-o-promo-grid-content > * { margin-bottom: 0; }
.coach-o-promo-grid-content > * + * { margin-top: 24px !important; }
@media (min-width: 640px)  { .coach-o-promo-grid-content > * + * { margin-top: 40px !important; } }
@media (min-width: 768px)  { .coach-o-promo-grid-content > * + * { margin-top: 50px !important; } }
@media (min-width: 1024px) { .coach-o-promo-grid-content > * + * { margin-top: 60px !important; } }

/* --- Promotion banner (core/cover + overlay) ---
 * Live banner is 568px tall at the 1070px column width on full HD, scaling
 * proportionally on narrower screens — hence the fixed aspect ratio. */
.coach-o-promo-banner.wp-block-cover {
	min-height: 0 !important;
	aspect-ratio: 1070 / 568;
	overflow: hidden;
	align-items: flex-end;
}
.coach-o-promo-banner .wp-block-cover__inner-container,
.coach-o-promo-cta .wp-block-cover__inner-container {
	width: 100%;
	max-width: 100%;
}
.coach-o-promo-banner-overlay {
	display: flex;
	flex-direction: row;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
}
.coach-o-promo-banner-text {
	gap: 14px;
	min-width: 0;
}
.coach-o-promo-banner-subheading,
.coach-o-promo-banner-heading {
	margin: 0;
	color: #FEFF00;
	font-family: var(--wp--preset--font-family--unbounded), "Unbounded", sans-serif;
	line-height: 1;
	letter-spacing: 0;
	text-transform: uppercase;
	text-shadow: 3px 0 0 #FF0000;
	/* On phones, where it still has to wrap, keep the two lines roughly even
	   ("EXPAND YOUR" / "BRAND !") instead of dropping a lone word. Combined
	   with the &nbsp; before "!" in the content, the "!" never sits alone. */
	text-wrap: balance;
}
/* Heading sizes step down on tablet/phone so "EXPAND YOUR BRAND !" stays on one
   line on tablet (the left column is full-width below 1024px, so there is less
   room than the 42px desktop size needs). */
.coach-o-promo-banner-subheading { font-weight: 500; font-size: 16px; }
.coach-o-promo-banner-heading    { font-weight: 700; font-size: 22px; }
@media (min-width: 480px) {
	.coach-o-promo-banner-subheading { font-size: 17px; }
	.coach-o-promo-banner-heading    { font-size: 24px; }
}
@media (min-width: 640px) {
	.coach-o-promo-banner-subheading { font-size: 19px; }
	.coach-o-promo-banner-heading    { font-size: 25px; }
}
@media (min-width: 768px) {
	.coach-o-promo-banner-subheading { font-size: 21px; }
	.coach-o-promo-banner-heading    { font-size: 28px; }
}
@media (min-width: 1024px) {
	.coach-o-promo-banner-subheading { font-size: 28px; }
	.coach-o-promo-banner-heading    { font-size: 42px; }
}
/* Logo box: like the live one, it cedes width to the heading when space is
 * tight (so "EXPAND YOUR BRAND !" doesn't wrap onto a 3rd line on tab/mobile)
 * but never shrinks below a sensible minimum. */
.coach-o-promo-banner-logo {
	margin: 0;
	flex: 0 1 150px;
	min-width: 110px;
	height: 125px;
}
.coach-o-promo-banner-logo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
@media (min-width: 768px) {
	.coach-o-promo-banner-logo { flex-basis: 203px; height: 212px; }
}

/* --- Text sections --- */
.coach-o-promo-textsection > * { margin-bottom: 0; }
.coach-o-promo-textsection > * + * { margin-top: 16px !important; }
.coach-o-promo-textsection-title {
	margin: 0;
	color: #08090d;
	font-family: var(--wp--preset--font-family--unbounded), "Unbounded", sans-serif;
	font-weight: 700;
	font-size: 24px;
	line-height: 30px;
	letter-spacing: 0;
	text-transform: uppercase;
}
@media (min-width: 640px)  { .coach-o-promo-textsection-title { font-size: 32px; } }
@media (min-width: 768px)  { .coach-o-promo-textsection-title { font-size: 40px; line-height: 48px; } }
@media (min-width: 1280px) { .coach-o-promo-textsection-title { font-size: 48px; line-height: 1; } }
/* the red word(s) — core/text-color highlight (<mark>); kill the UA yellow bg */
.coach-o-promo-textsection-title mark { background-color: transparent; }
.coach-o-promo-textsection-body {
	margin: 0;
	color: #4a4a4a;
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 22px;
	letter-spacing: 0;
}
@media (min-width: 640px)  { .coach-o-promo-textsection-body { font-size: 18px; line-height: 26px; } }
@media (min-width: 768px)  { .coach-o-promo-textsection-body { font-size: 20px; line-height: 30px; } }
@media (min-width: 1024px) { .coach-o-promo-textsection-body { font-size: 24px; line-height: 34px; } }

/* Highlighted callout (e.g. the "Interested in advertising?" box) */
.coach-o-promo-callout {
	display: flex;
	align-items: center;
	border-left: 8px solid #ff0000;
	background: linear-gradient(90deg, rgba(255, 0, 0, .1) 0%, rgba(255, 0, 0, 0) 100%);
	padding: 26px 32px;
	border-radius: 6px 0 0 6px;
}
.coach-o-promo-callout-text {
	margin: 0;
	color: #4a4a4a;
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif;
	font-weight: 700;
	font-size: 16px;
	line-height: 22px;
}
@media (min-width: 640px)  { .coach-o-promo-callout-text { font-size: 18px; line-height: 26px; } }
@media (min-width: 768px)  { .coach-o-promo-callout-text { font-size: 20px; line-height: 30px; } }
@media (min-width: 1024px) { .coach-o-promo-callout-text { font-size: 24px; line-height: 34px; } }
.coach-o-promo-callout-text a { color: inherit; text-decoration: none; }
.coach-o-promo-callout-text a:hover { text-decoration: underline; }

/* --- CTA box (core/cover with promotion-cotact-bg.png) --- */
.coach-o-promo-cta.wp-block-cover {
	min-height: 0;
	color: #ffffff;
}
.coach-o-promo-cta .wp-block-cover__inner-container {
	display: flex;
	flex-direction: column;
}
.coach-o-promo-cta .wp-block-cover__inner-container > * { margin: 0; }
.coach-o-promo-cta .coach-o-promo-cta-text { margin-top: 8px; }
.coach-o-promo-cta .coach-o-promo-cta-email { margin-top: 14px; }
.coach-o-promo-cta-heading {
	margin: 0;
	color: #ffffff;
	font-family: var(--wp--preset--font-family--unbounded), "Unbounded", sans-serif;
	font-weight: 700;
	font-size: 16px;
	line-height: 30px;
	text-transform: uppercase;
}
@media (min-width: 640px) { .coach-o-promo-cta-heading { font-size: 18px; } }
@media (min-width: 768px) { .coach-o-promo-cta-heading { font-size: 20px; } }
@media (min-width: 1024px) { .coach-o-promo-cta-heading { font-size: 24px; } }
.coach-o-promo-cta-text {
	color: rgba(255, 255, 255, .8);
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif;
	font-weight: 500;
	font-size: 18px;
	line-height: 22px;
}
@media (min-width: 640px) { .coach-o-promo-cta-text { line-height: 26px; } }
@media (min-width: 768px) { .coach-o-promo-cta-text { line-height: 30px; } }
.coach-o-promo-cta-email {
	color: #ffffff;
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif;
	font-weight: 500;
	font-size: 14px;
	line-height: 22px;
}
@media (min-width: 640px) { .coach-o-promo-cta-email { font-size: 16px; line-height: 26px; } }
@media (min-width: 768px) { .coach-o-promo-cta-email { font-size: 18px; line-height: 30px; } }
.coach-o-promo-cta-email a {
	color: #ff0000;
	font-weight: 700;
	text-decoration: underline;
}
.coach-o-promo-cta-email a:hover { color: #ffffff; }

/* --- Companies, Events & Teams — logo grid --- */
.coach-o-promo-companies > * { margin-bottom: 0; }
.coach-o-promo-companies > * + * { margin-top: 12px !important; }
.coach-o-promo-companies > .coach-o-promo-logos { margin-top: 60px !important; }
.coach-o-promo-companies-title {
	margin: 0;
	color: #ff0000;
	font-family: var(--wp--preset--font-family--unbounded), "Unbounded", sans-serif;
	font-weight: 700;
	font-size: 24px;
	line-height: 30px;
	text-transform: uppercase;
}
@media (min-width: 640px)  { .coach-o-promo-companies-title { font-size: 32px; } }
@media (min-width: 768px)  { .coach-o-promo-companies-title { font-size: 40px; line-height: 48px; } }
@media (min-width: 1280px) { .coach-o-promo-companies-title { font-size: 48px; line-height: 1; } }
.coach-o-promo-companies-subtitle {
	margin: 0;
	color: #08090d;
	font-family: var(--wp--preset--font-family--unbounded), "Unbounded", sans-serif;
	font-weight: 700;
	font-size: 20px;
	line-height: 28px;
	text-transform: uppercase;
}
@media (min-width: 640px)  { .coach-o-promo-companies-subtitle { font-size: 24px; line-height: 36px; } }
@media (min-width: 768px)  { .coach-o-promo-companies-subtitle { font-size: 28px; line-height: 44px; } }
@media (min-width: 1024px) { .coach-o-promo-companies-subtitle { font-size: 31px; line-height: 54px; } }

.coach-o-promo-logos.wp-block-gallery {
	gap: 21px !important;
	--wp--style--unstable-gallery-gap: 21px;
	align-items: stretch;
	justify-content: flex-start;
}
/* White logo cards. The column count follows the Gallery block's own
 * "Columns" setting (and core's built-in responsive reflow on small screens).
 * flex-grow:0 keeps a lone last logo from stretching across its whole row. */
.coach-o-promo-logos.wp-block-gallery figure.wp-block-image {
	margin: 0 !important;
	flex-grow: 0 !important;
	max-width: 252px;
	background: #ffffff;
	border: 1px solid rgba(0, 0, 0, .2);
	border-radius: 10px;
	padding: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: 128px;
	max-height: 160px;
}
.coach-o-promo-logos.wp-block-gallery figure.wp-block-image img {
	width: auto !important;
	max-width: 100%;
	height: auto !important;
	max-height: 128px;
	object-fit: contain;
}

/* ============================================================
 * Speedy STO Rankings (CPT: coacho_sto_ranking)
 * Single: templates/single-coacho_sto_ranking.html → coach-o/sto-rankings
 * (Swiper carousel + fullscreen lightbox + "Previous Rankings" + disclaimer).
 * Archive: templates/archive-coacho_sto_ranking.html (card grid).
 * Structural .rankings-*/.swiper-* classes are what rankings-carousel.js keys on.
 * ============================================================ */

.coach-o-sto-section {
	padding: 32px 1rem 56px !important;
	margin: 0 auto !important;
}
@media (min-width: 640px)  { .coach-o-sto-section { padding: 40px 1.5rem 72px !important; } }
@media (min-width: 768px)  { .coach-o-sto-section { padding: 56px 1.5rem 96px !important; } }

.coach-o-sto-carousel {
	position: relative;
	margin: 0 auto;
	max-width: 1024px;
	width: 100%;
}

/* The main Swiper container */
.rankings-swiper {
	width: 100%;
	max-width: 100%;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 12px 38px 0 rgba(0, 0, 0, .12);
	background: rgba(0, 0, 0, .05);
}
@media (min-width: 640px) { .rankings-swiper { border-radius: 10px; } }

.rankings-slide-trigger {
	display: block;
	position: relative;
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	text-align: left;
	cursor: zoom-in;
	outline: none;
}
.coach-o-sto-figure {
	margin: 0;
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	background: #000;
	pointer-events: none;
}
.coach-o-sto-figure img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
/* magnifier badge (desktop hover only) */
.coach-o-sto-zoom {
	display: none;
	position: absolute;
	top: 8px;
	right: 8px;
	z-index: 1;
	width: 44px;
	height: 44px;
	align-items: center;
	justify-content: center;
	border-radius: 9999px;
	background: rgba(255, 255, 255, .9);
	color: #08090d;
	box-shadow: 0 1px 4px rgba(0, 0, 0, .15);
	pointer-events: none;
	transition: opacity .2s ease;
}
.coach-o-sto-zoom svg { width: 24px; height: 24px; }
@media (min-width: 768px) {
	.coach-o-sto-zoom { display: flex; opacity: 0; }
	.rankings-slide-trigger:hover .coach-o-sto-zoom,
	.rankings-slide-trigger:focus-visible .coach-o-sto-zoom { opacity: 1; }
}

/* prev/next nav buttons */
.rankings-button-prev,
.rankings-button-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 9999px;
	border: 1px solid #e5e7eb;
	background: rgba(255, 255, 255, .95);
	box-shadow: 0 1px 6px rgba(0, 0, 0, .15);
	color: #08090d;
	cursor: pointer;
}
.rankings-button-prev { left: 4px; }
.rankings-button-next { right: 4px; }
@media (min-width: 768px) {
	.rankings-button-prev { left: -10px; }
	.rankings-button-next { right: -10px; }
}
.rankings-button-prev svg,
.rankings-button-next svg { width: 20px; height: 20px; }
.rankings-button-prev:hover,
.rankings-button-next:hover { background: #f9fafb; }
.rankings-button-prev.swiper-button-disabled,
.rankings-button-next.swiper-button-disabled { opacity: .35; cursor: default; }

.rankings-pagination { margin-top: 16px; }
@media (min-width: 480px) { .rankings-pagination { margin-top: 22px; } }

/* lightbox button visuals (positions come from the existing .rankings-lightbox rules above) */
.rankings-lightbox-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .9);
}
.rankings-lightbox-close.rankings-lightbox-ui,
.rankings-lightbox-prev.rankings-lightbox-nav,
.rankings-lightbox-next.rankings-lightbox-nav {
	position: absolute;
	z-index: 30;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 9999px;
	background: rgba(255, 255, 255, .15);
	color: #ffffff;
	cursor: pointer;
	transition: background-color .2s ease;
}
.rankings-lightbox-close.rankings-lightbox-ui:hover,
.rankings-lightbox-prev.rankings-lightbox-nav:hover,
.rankings-lightbox-next.rankings-lightbox-nav:hover { background: rgba(255, 255, 255, .25); }
.rankings-lightbox-close svg,
.rankings-lightbox-prev svg,
.rankings-lightbox-next svg { width: 22px; height: 22px; }
.rankings-lightbox-prev.rankings-lightbox-nav,
.rankings-lightbox-next.rankings-lightbox-nav {
	top: 50%;
	transform: translateY(-50%);
	z-index: 20;
}
@media (min-width: 640px) {
	.rankings-lightbox-prev.rankings-lightbox-nav,
	.rankings-lightbox-next.rankings-lightbox-nav { width: 48px; height: 48px; }
}
.rankings-lightbox-swiper {
	position: relative;
	z-index: 10;
	padding: 0 8px;
}
@media (min-width: 640px) { .rankings-lightbox-swiper { padding: 0 56px; } }
.rankings-lightbox-swiper .swiper-slide {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 4px;
}
.rankings-lightbox-swiper .swiper-slide img {
	width: 100%;
	max-width: 100%;
	height: auto;
	max-height: 85vh;
	max-height: min(85dvh, calc(100svh - 6rem));
	object-fit: contain;
}

/* no-slides notice */
.coach-o-sto-empty {
	max-width: 768px;
	margin: 0 auto;
	padding: 24px;
	text-align: center;
	border: 1px dashed #d1d5db;
	border-radius: 10px;
	background: #f9fafb;
	color: #4b5563;
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif;
}

/* Previous / next ranking navigation (replaces the old "Previous Rankings" list) */
.coach-o-sto-postnav {
	max-width: 1024px;
	margin: 40px auto 0;
	display: flex;
	flex-wrap: wrap;
	gap: 12px 24px;
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif;
}
.coach-o-sto-postnav-prev,
.coach-o-sto-postnav-next {
	flex: 1 1 240px;
	min-width: 0;
}
.coach-o-sto-postnav-next {
	text-align: right;
}
.coach-o-sto-postnav a {
	display: inline-flex;
	flex-direction: column;
	gap: 4px;
	max-width: 100%;
	text-decoration: none;
	color: inherit;
}
.coach-o-sto-postnav-next a {
	align-items: flex-end;
	text-align: right;
}
.coach-o-sto-postnav-label {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #dc2626;
}
.coach-o-sto-postnav-title {
	font-weight: 600;
	color: #08090d;
	overflow-wrap: anywhere;
}
.coach-o-sto-postnav a:hover .coach-o-sto-postnav-title {
	text-decoration: underline;
}
@media (max-width: 599px) {
	.coach-o-sto-postnav-next { text-align: left; }
	.coach-o-sto-postnav-next a { align-items: flex-start; text-align: left; }
}

/* disclaimer (supplements the existing .rankings-disclaimer rule) */
.coach-o-sto-disclaimer {
	max-width: 768px;
	margin: 32px auto 0;
	text-align: center;
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif;
	font-size: 14px;
	line-height: 1.6;
	color: #374151;
}
@media (min-width: 640px) { .coach-o-sto-disclaimer { margin-top: 40px; font-size: 16px; } }
.coach-o-sto-disclaimer a {
	color: #dc2626;
	font-weight: 600;
	text-decoration: underline;
	word-break: break-word;
}
.coach-o-sto-disclaimer a:hover { text-decoration: none; }

/* archive: card grid */
.coach-o-sto-archive .wp-block-post-template {
	gap: 24px !important;
}
.coach-o-sto-archive .wp-block-post {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.coach-o-sto-archive-thumb img {
	width: 100%;
	height: auto;
	border-radius: 8px;
	object-fit: cover;
}
.coach-o-sto-archive-title {
	margin: 4px 0 0;
	font-family: var(--wp--preset--font-family--unbounded), "Unbounded", sans-serif;
	font-weight: 700;
	font-size: 18px;
	line-height: 1.3;
	text-transform: uppercase;
}
.coach-o-sto-archive-title a { color: #08090d; text-decoration: none; }
.coach-o-sto-archive-title a:hover { color: #dc2626; }
.coach-o-sto-archive-date {
	margin: 0;
	font-family: var(--wp--preset--font-family--barlow), "Barlow", sans-serif;
	font-size: 13px;
	color: #6b7280;
}
.coach-o-sto-archive-pagination {
	margin-top: 40px;
	gap: 8px;
}
