:root {
	--rtb-black: #111111;
	--rtb-black-soft: #1b1b1b;
	--rtb-blue: #2d9cdb;
	--rtb-blue-soft: rgba(45, 156, 219, 0.1);
	--rtb-border: #e8e8e5;
	--rtb-flash: #00b894;
	--rtb-flash-soft: rgba(0, 184, 148, 0.12);
	--rtb-gymnastics: #9b6dff;
	--rtb-gymnastics-soft: rgba(155, 109, 255, 0.12);
	--rtb-offwhite: #f7f7f5;
	--rtb-oly: #f4b400;
	--rtb-oly-soft: rgba(244, 180, 0, 0.14);
	--rtb-red: #d61f26;
	--rtb-red-soft: rgba(214, 31, 38, 0.08);
	--rtb-strength: #ff7a59;
	--rtb-strength-soft: rgba(255, 122, 89, 0.12);
	--rtb-text-muted: #6b7280;
	--rtb-white: #ffffff;
}

html {
	scroll-behavior: smooth;
}

body {
	background: var(--rtb-white);
	color: var(--rtb-black);
	font-family:
		"Manrope",
		-apple-system,
		BlinkMacSystemFont,
		"Segoe UI",
		sans-serif;
	margin: 0;
	padding: 0;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

body.mobile-menu-open {
	overflow: hidden;
}

a {
	color: inherit;
	text-decoration: none;
}

a:hover {
	color: inherit;
}

h2 {
	color: var(--rtb-black);
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 700;
	letter-spacing: -0.04em;
}

.reveal {
	opacity: 0;
	transform: translateY(28px);
	transition:
		opacity 0.7s ease,
		transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
	will-change: opacity, transform;
}

.reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.reveal-left {
	transform: translate3d(-28px, 0, 0);
}

.reveal-right {
	transform: translate3d(28px, 0, 0);
}

.reveal-scale {
	transform: translateY(22px) scale(0.97);
}

.reveal.is-visible.reveal-left,
.reveal.is-visible.reveal-right,
.reveal.is-visible.reveal-scale {
	transform: translate3d(0, 0, 0) scale(1);
}

.reveal-delay-1 {
	transition-delay: 0.06s;
}

.reveal-delay-2 {
	transition-delay: 0.12s;
}

.reveal-delay-3 {
	transition-delay: 0.18s;
}

.reveal-delay-4 {
	transition-delay: 0.24s;
}

.reveal-delay-5 {
	transition-delay: 0.3s;
}

.section h2 {
	opacity: 0;
	transform: translateY(18px);
	transition:
		opacity 0.6s ease,
		transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.section.is-visible h2 {
	opacity: 1;
	transform: translateY(0);
}

.section h2::after {
	transform: scaleX(0.4);
	transform-origin: center;
	transition: transform 0.65s ease 0.12s;
	background: linear-gradient(90deg, var(--rtb-red), var(--rtb-blue));
	border-radius: 999px;
	content: "";
	display: block;
	height: 4px;
	margin: 1rem auto 0;
	width: 80px;
}

.section.is-visible h2::after {
	transform: scaleX(1);
}

.hero-eyebrow,
.hero-title,
.hero-sub,
.hero-actions {
	animation: heroFadeUp 0.9s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.hero-title {
	animation-delay: 0.08s;
	color: var(--rtb-white);
	font-size: clamp(2.8rem, 6vw, 5.8rem);
	font-weight: 700;
	letter-spacing: -0.05em;
	line-height: 1.1;
	margin: 0 auto;
	max-width: 900px;
	text-shadow: 0 4px 24px rgba(0, 0, 0, 0.45);
}

.hero-sub {
	animation-delay: 0.16s;
	color: rgba(255, 255, 255, 0.9);
	font-size: clamp(1rem, 2vw, 1.2rem);
	line-height: 1.6;
	margin: 1.5rem auto 0;
	max-width: 680px;
	text-shadow: 0 2px 16px rgba(0, 0, 0, 0.4);
}

.hero-actions {
	animation-delay: 0.24s;
	margin-top: 2rem;
}

@keyframes heroFadeUp {
	from {
		opacity: 0;
		transform: translateY(26px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.section-accent::before {
	animation: sectionFloat 14s ease-in-out infinite alternate;
	background:
		radial-gradient(
			circle at 20% 20%,
			rgba(45, 156, 219, 0.1),
			transparent 35%
		),
		radial-gradient(
			circle at 80% 70%,
			rgba(214, 31, 38, 0.08),
			transparent 35%
		);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 0;
}

.section-accent > * {
	position: relative;
	z-index: 1;
}

@keyframes sectionFloat {
	from {
		transform: translate3d(0, 0, 0) scale(1);
	}
	to {
		transform: translate3d(0, -10px, 0) scale(1.02);
	}
}

.team-photo,
.contact-map-embed,
.wod-card img {
	transition: transform 0.5s ease;
}

.team-card:hover .team-photo,
.contact-map-embed-wrap:hover .contact-map-embed,
.wod-card:hover img {
	transform: scale(1.02);
}

@media (prefers-reduced-motion: reduce) {
	.reveal,
	.section h2,
	.hero-eyebrow,
	.hero-title,
	.hero-sub,
	.hero-actions,
	.team-photo,
	.contact-map-embed,
	.wod-card img {
		animation: none !important;
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
}

.btn {
	border-radius: 999px;
	font-weight: 700;
	padding: 0.8rem 1.4rem;
	transition: all 0.2s ease;
}

.btn-dark {
	background: var(--rtb-red);
	border-color: var(--rtb-red);
	color: var(--rtb-white);
}

.btn-dark:focus,
.btn-dark:hover {
	background: #bb171e;
	border-color: #bb171e;
	color: var(--rtb-white);
	transform: translateY(-1px);
}

.btn-outline-dark {
	background: transparent;
	border: 2px solid var(--rtb-black);
	color: var(--rtb-black);
}

.btn-outline-dark:focus,
.btn-outline-dark:hover {
	background: var(--rtb-black);
	border-color: var(--rtb-black);
	color: var(--rtb-white);
	transform: translateY(-1px);
}

.btn-outline-light {
	background: transparent;
	border-color: rgba(255, 255, 255, 0.35);
	color: #ffffff;
}

.btn-outline-light:focus,
.btn-outline-light:hover {
	background: #ffffff;
	border-color: #ffffff;
	color: var(--rtb-black);
	transform: translateY(-1px);
}

.section {
	padding: 6rem 0;
	position: relative;
}

.section + .section {
	border-top: 1px solid rgba(17, 17, 17, 0.04);
}

.section h2.section-title-left::after {
	margin: 1rem 0 0;
}

.section-alt {
	background: var(--rtb-offwhite);
}

.section-accent {
	background:
		radial-gradient(
			circle at top left,
			rgba(45, 156, 219, 0.12),
			transparent 40%
		),
		radial-gradient(
			circle at bottom right,
			rgba(214, 31, 38, 0.12),
			transparent 40%
		),
		linear-gradient(180deg, #ffffff 0%, #f7f7f5 100%);
}

.section-dark {
	background: linear-gradient(180deg, #e9e9e9 0%, #dddddd 100%);
	border-top: 1px solid rgba(0, 0, 0, 0.05);
	color: var(--rtb-black);
}

.section-dark h2,
.section-dark p {
	color: var(--rtb-black);
}

.section.bg-light {
	background: var(--rtb-offwhite) !important;
}

.section.bg-light p {
	color: var(--rtb-text-muted);
}

.section-404 {
	align-items: center;
	display: flex;
	min-height: 80vh;
}

.error-code {
	background: linear-gradient(90deg, var(--rtb-red), var(--rtb-blue));
	font-size: clamp(4rem, 10vw, 8rem);
	font-weight: 900;
	letter-spacing: -0.05em;
	line-height: 1;
	margin-bottom: 1rem;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.navbar {
	border-bottom: 0 !important;
	padding: 0;
}

.site-header {
	left: 0;
	padding: 1rem 0;
	position: fixed;
	right: 0;
	top: 0;
	transition:
		background 0.22s ease,
		backdrop-filter 0.22s ease,
		border-color 0.22s ease,
		box-shadow 0.22s ease,
		padding 0.22s ease;
	z-index: 1070;
}

body.mobile-menu-open .site-header {
	z-index: 1090;
}

.site-header .container {
	align-items: center;
	display: flex;
	justify-content: space-between;
	position: relative;
	z-index: 1;
}

.site-header-overlay {
	backdrop-filter: none;
	background: transparent !important;
	border-bottom: 1px solid transparent !important;
	box-shadow: none !important;
}

.site-header-overlay .site-header-nav .nav-link {
	color: rgba(255, 255, 255, 0.92);
}

.site-header-overlay .site-header-nav .nav-link:hover,
.site-header-overlay .site-header-nav .nav-link:focus,
.site-header-overlay .site-header-nav .nav-link.is-active {
	color: #ffffff;
}

.site-header-overlay .site-header-nav .nav-link.is-active::after {
	background: #ffffff;
}

.site-header-overlay .site-header-cta {
	background: var(--rtb-red);
	border-color: var(--rtb-red);
	color: var(--rtb-white);
	padding: 0.4rem 1rem;
}

.site-header-overlay .site-header-cta:hover,
.site-header-overlay .site-header-cta:focus {
	background: #bb171e;
	border-color: #bb171e;
	color: var(--rtb-white);
}

.site-header-scrolled {
	backdrop-filter: blur(14px);
	background: rgba(255, 255, 255, 0.92) !important;
	border-bottom: 1px solid rgba(17, 17, 17, 0.05) !important;
	box-shadow:
		0 12px 30px rgba(17, 17, 17, 0.1),
		0 2px 8px rgba(17, 17, 17, 0.04);
	padding: 0.5rem 0;
}

.site-header-scrolled .site-header-nav .nav-link {
	color: var(--rtb-black);
}

.site-header-scrolled .site-header-nav .nav-link:hover,
.site-header-scrolled .site-header-nav .nav-link:focus,
.site-header-scrolled .site-header-nav .nav-link.is-active {
	color: var(--rtb-red);
}

.site-header-scrolled .site-header-nav .nav-link.is-active::after {
	background: var(--rtb-red);
}

.site-brand {
	display: inline-block;
	flex: 0 0 auto;
	margin: 0;
	padding: 0;
}

.site-brand-inner {
	display: block;
	height: 100px;
	position: relative;
	transition: height 0.22s ease;
	width: 190px;
}

.site-header-scrolled .site-brand-inner {
	height: 46px;
}

.site-brand-logo {
	height: 100%;
	left: 0;
	object-fit: contain;
	opacity: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	transition: opacity 0.22s ease;
	width: 100%;
}

.logo-light {
	opacity: 1;
	position: relative;
}

.logo-dark {
	opacity: 0;
}

body.theme-dark .logo-light,
.site-header-overlay .logo-light {
	opacity: 1;
}

body.theme-dark .logo-dark,
.site-header-overlay .logo-dark {
	opacity: 0;
}

.site-header-scrolled .logo-light {
	opacity: 0;
}

.site-header-scrolled .logo-dark {
	opacity: 1;
}

.site-header .navbar-collapse {
	align-items: center;
	flex-basis: auto;
	flex-grow: 0;
}

.site-header-nav {
	align-items: center;
	gap: 0.6rem;
}

.site-header-nav .nav-item {
	margin: 0 0.4rem;
}

.site-header-nav .nav-link {
	font-size: 0.95rem;
	font-weight: 600;
	padding: 0.5rem 0.9rem;
	position: relative;
	transition: color 0.2s ease;
}

.site-header-nav .nav-link::after {
	background: var(--rtb-red);
	border-radius: 999px;
	bottom: -0.1rem;
	content: "";
	height: 2px;
	left: 0.85rem;
	opacity: 1;
	position: absolute;
	right: 0.85rem;
	transform: scaleX(0);
	transform-origin: left;
	transition:
		background 0.2s ease,
		transform 0.2s ease;
}

.site-header-nav .nav-link:hover::after,
.site-header-nav .nav-link:focus::after,
.site-header-nav .nav-link.is-active::after {
	transform: scaleX(1);
}

.site-header-cta {
	margin-left: 0.9rem;
	min-width: 0;
	white-space: nowrap;
}

.menu-toggle {
	align-items: center;
	appearance: none;
	background: transparent;
	border: 0;
	cursor: pointer;
	display: none;
	flex: 0 0 auto;
	height: 48px;
	justify-content: center;
	padding: 0;
	position: relative;
	width: 48px;
	z-index: 1081;
}

.menu-toggle span {
	background: #ffffff;
	border-radius: 999px;
	display: block;
	height: 2px;
	left: 12px;
	position: absolute;
	transition:
		background 0.22s ease,
		opacity 0.22s ease,
		top 0.22s ease,
		transform 0.22s ease;
	width: 24px;
}

.menu-toggle span:nth-child(1) {
	top: 16px;
}

.menu-toggle span:nth-child(2) {
	top: 23px;
}

.menu-toggle span:nth-child(3) {
	top: 30px;
}

.site-header-overlay .menu-toggle span {
	background: #ffffff;
}

.site-header-scrolled .menu-toggle span {
	background: var(--rtb-black);
}

.menu-toggle.is-open span {
	background: var(--rtb-black) !important;
}

.menu-toggle.is-open span:nth-child(1) {
	top: 23px;
	transform: rotate(45deg);
}

.menu-toggle.is-open span:nth-child(2) {
	opacity: 0;
}

.menu-toggle.is-open span:nth-child(3) {
	top: 23px;
	transform: rotate(-45deg);
}

.mobile-menu-overlay {
	align-items: center;
	background: rgba(255, 255, 255, 0.96);
	backdrop-filter: blur(14px);
	display: flex;
	inset: 0;
	justify-content: center;
	opacity: 0;
	pointer-events: none;
	position: fixed;
	transform: translateY(-10px);
	transition:
		opacity 0.25s ease,
		transform 0.25s ease;
	z-index: 1080;
}

.mobile-menu-overlay.is-open {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}

.mobile-menu-overlay-inner {
	padding: 6rem 2rem 2rem;
	text-align: center;
	width: 100%;
}

.mobile-menu-nav {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 1.1rem;
}

.mobile-menu-link {
	color: var(--rtb-black);
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	opacity: 0;
	transform: translateY(16px);
	transition:
		color 0.2s ease,
		opacity 0.25s ease,
		transform 0.25s ease;
	position: relative;
	padding-bottom: 0.75rem;
}

.mobile-menu-link:hover,
.mobile-menu-link:focus {
	color: var(--rtb-red);
}

.mobile-menu-overlay.is-open .mobile-menu-link {
	opacity: 1;
	transform: translateY(0);
}

.mobile-menu-overlay.is-open .mobile-menu-link:nth-child(1) {
	transition-delay: 0.05s;
}

.mobile-menu-overlay.is-open .mobile-menu-link:nth-child(2) {
	transition-delay: 0.1s;
}

.mobile-menu-overlay.is-open .mobile-menu-link:nth-child(3) {
	transition-delay: 0.15s;
}

.mobile-menu-overlay.is-open .mobile-menu-link:nth-child(4) {
	transition-delay: 0.2s;
}

.mobile-menu-overlay.is-open .mobile-menu-link:nth-child(5) {
	transition-delay: 0.25s;
}

.mobile-menu-overlay.is-open .mobile-menu-link:nth-child(6) {
	transition-delay: 0.3s;
}

.mobile-menu-cta {
	margin-top: 1.25rem;
	min-width: 220px;
	opacity: 0;
	transform: translateY(16px);
	transition:
		opacity 0.25s ease,
		transform 0.25s ease;
	transition-delay: 0.35s;
}

.mobile-menu-overlay.is-open .mobile-menu-cta {
	opacity: 1;
	transform: translateY(0);
}

.hero {
	align-items: center;
	background:
		linear-gradient(
			180deg,
			rgba(8, 10, 12, 0.88) 0%,
			rgba(8, 10, 12, 0.75) 40%,
			rgba(8, 10, 12, 0.85) 100%
		),
		url("/assets/img/hero.jpg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	display: flex;
	min-height: 100vh;
	overflow: hidden;
	padding: 10rem 0 5rem;
	position: relative;
}

.hero::before {
	background: linear-gradient(
		180deg,
		rgba(0, 0, 0, 0.42) 0%,
		rgba(0, 0, 0, 0.12) 22%,
		rgba(0, 0, 0, 0) 40%
	);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 1;
}

.hero .container {
	position: relative;
	z-index: 2;
}

.hero-eyebrow {
	color: rgba(255, 255, 255, 0.95);
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	margin-bottom: 1.25rem;
	text-shadow: 0 2px 14px rgba(0, 0, 0, 0.45);
	text-transform: uppercase;
}

.hero .btn-outline-dark {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.55);
	color: var(--rtb-white);
}

.hero .btn-outline-dark:hover,
.hero .btn-outline-dark:focus {
	background: var(--rtb-white);
	border-color: var(--rtb-white);
	color: var(--rtb-black);
}

.card-clean {
	background: linear-gradient(
		180deg,
		rgba(255, 255, 255, 1) 0%,
		rgba(249, 249, 247, 1) 100%
	);
	border: 1px solid var(--rtb-border);
	border-radius: 24px;
	box-shadow: 0 10px 30px rgba(17, 17, 17, 0.04);
	height: 100%;
	padding: 2rem;
	transition: all 0.22s ease;
}

.card-clean:hover {
	border-color: rgba(17, 17, 17, 0.08);
	box-shadow: 0 18px 45px rgba(17, 17, 17, 0.08);
	transform: translateY(-4px);
}

.card-clean h4 {
	color: var(--rtb-black);
	font-size: 1.15rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	margin-bottom: 0.6rem;
}

.card-clean p {
	color: var(--rtb-text-muted);
	line-height: 1.6;
	margin: 0;
}

.card-clean-blue {
	background: linear-gradient(
		180deg,
		rgba(45, 156, 219, 0.1) 0%,
		rgba(255, 255, 255, 1) 100%
	);
}

.card-clean-dark {
	background: linear-gradient(
		180deg,
		rgba(17, 17, 17, 0.05) 0%,
		rgba(255, 255, 255, 1) 100%
	);
}

.card-clean-red {
	background: linear-gradient(
		180deg,
		rgba(214, 31, 38, 0.08) 0%,
		rgba(255, 255, 255, 1) 100%
	);
}

.card-link {
	color: var(--rtb-red);
	display: inline-block;
	font-size: 0.9rem;
	font-weight: 700;
	margin-top: 1.25rem;
}

.card-link:hover {
	color: var(--rtb-black);
}

.card-pill {
	background: rgba(17, 17, 17, 0.06);
	border-radius: 999px;
	color: var(--rtb-black);
	display: inline-block;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	margin-bottom: 1rem;
	padding: 0.45rem 0.75rem;
	text-transform: uppercase;
}

.review {
	background: #ffffff;
	border: 1px solid #e9ecef;
	border-radius: 1.25rem;
	box-shadow: 0 0.75rem 2rem rgba(17, 17, 17, 0.06);
	height: 100%;
	padding: 1.5rem;
	transition:
		box-shadow 0.2s ease,
		transform 0.2s ease;
}

.review:hover {
	box-shadow: 0 1rem 2.25rem rgba(17, 17, 17, 0.1);
	transform: translateY(-4px);
}

.review p {
	color: #495057;
	line-height: 1.65;
	margin: 0;
	font-size: 1rem;
	margin-bottom: 0;
}

.stat {
	color: var(--rtb-black);
	font-size: clamp(2rem, 3vw, 2.8rem);
	font-weight: 700;
	letter-spacing: -0.04em;
	margin-bottom: 0.5rem;
}

.stat-card {
	background: #ffffff;
	border: 1px solid var(--rtb-border);
	border-radius: 24px;
	box-shadow: 0 10px 28px rgba(17, 17, 17, 0.04);
	height: 100%;
	overflow: hidden;
	padding: 2rem;
	position: relative;
	transition: all 0.2s ease;
}

.stat-card:hover {
	box-shadow: 0 18px 45px rgba(17, 17, 17, 0.08);
	transform: translateY(-4px);
}

.stat-label {
	color: var(--rtb-text-muted);
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.5;
	max-width: 18rem;
}

.stat-card::after {
	background: linear-gradient(90deg, var(--rtb-red), var(--rtb-blue));
	content: "";
	height: 3px;
	inset: auto 0 0 0;
	opacity: 0.6;
	position: absolute;
}

.stat-card .stat {
	margin-bottom: 0.25rem;
}

.stat-card-blue {
	background: linear-gradient(180deg, var(--rtb-blue-soft) 0%, #ffffff 100%);
}

.stat-card-blue .stat-icon {
	background: var(--rtb-blue);
	color: #ffffff;
}

.stat-card-red {
	background: linear-gradient(180deg, var(--rtb-red-soft) 0%, #ffffff 100%);
}

.stat-card-red .stat-icon {
	background: var(--rtb-red);
	color: #ffffff;
}

.stat-card-strength {
	background: linear-gradient(
		180deg,
		var(--rtb-strength-soft) 0%,
		#ffffff 100%
	);
}

.stat-card-strength .stat-icon {
	background: var(--rtb-strength);
	color: #ffffff;
}

.stat-row {
	align-items: flex-start;
	display: flex;
	gap: 1rem;
}

.stat-content {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-width: 0;
}

.stat-icon {
	align-items: center;
	border-radius: 14px;
	display: inline-flex;
	flex: 0 0 48px;
	font-size: 1.2rem;
	height: 48px;
	justify-content: center;
	margin-bottom: 0;
	width: 48px;
}

.stat-number {
	font-size: clamp(2rem, 3vw, 2.8rem);
	line-height: 1;
	margin-bottom: 0.5rem;
}

.stat-text {
	font-size: clamp(1.6rem, 2.2vw, 2.1rem);
	line-height: 1.1;
	margin-bottom: 0.75rem;
}

.schedule-empty {
	color: var(--rtb-text-muted);
	font-size: 0.95rem;
	opacity: 0.5;
	padding: 0.75rem 0.25rem;
	text-align: center;
}

.schedule-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(7, minmax(0, 1fr));
}

.day {
	background: linear-gradient(
		180deg,
		rgba(255, 255, 255, 0.96) 0%,
		rgba(248, 248, 246, 0.96) 100%
	);
	border: 1px solid var(--rtb-border);
	border-radius: 24px;
	box-shadow: 0 8px 24px rgba(17, 17, 17, 0.04);
	padding: 1rem;
	transition: all 0.2s ease;
}

.day:hover {
	box-shadow: 0 16px 36px rgba(17, 17, 17, 0.07);
	transform: translateY(-2px);
}

.day-title {
	color: var(--rtb-black);
	font-size: 0.95rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	margin-bottom: 0.9rem;
	text-transform: uppercase;
}

button.class {
	text-align: left;
	width: 100%;
}

.class {
	border: 1px solid transparent;
	border-left: 4px solid transparent;
	border-radius: 16px;
	cursor: pointer;
	font-size: 0.94rem;
	font-weight: 700;
	margin-bottom: 0.65rem;
	padding: 0.75rem 0.85rem 0.8rem 0.95rem;
	transition: all 0.18s ease;
}

.class:last-child {
	margin-bottom: 0;
}

.class span {
	display: block;
	font-size: 0.75rem;
	font-weight: 700;
	margin-bottom: 0.2rem;
	opacity: 0.72;
}

.class:hover {
	box-shadow: 0 12px 24px rgba(17, 17, 17, 0.07);
	transform: translateY(-2px);
}

.bootcamp {
	background: var(--rtb-blue-soft);
	border-color: rgba(45, 156, 219, 0.16);
	border-left-color: var(--rtb-blue);
	color: var(--rtb-black);
}

.flash {
	background: var(--rtb-flash-soft);
	border-color: rgba(0, 184, 148, 0.18);
	border-left-color: var(--rtb-flash);
	color: var(--rtb-black);
}

.gymnastics {
	background: var(--rtb-gymnastics-soft);
	border-color: rgba(155, 109, 255, 0.18);
	border-left-color: var(--rtb-gymnastics);
	color: var(--rtb-black);
}

.oly {
	background: var(--rtb-oly-soft);
	border-color: rgba(244, 180, 0, 0.18);
	border-left-color: var(--rtb-oly);
	color: var(--rtb-black);
}

.strength {
	background: var(--rtb-strength-soft);
	border-color: rgba(214, 31, 38, 0.14);
	border-left-color: var(--rtb-strength);
	color: var(--rtb-black);
}

.schedule-modal-header {
	border-bottom: 0;
}

.schedule-modal-header .btn-close {
	filter: none;
	opacity: 0.8;
}

.schedule-modal-header.bootcamp {
	background: var(--rtb-blue);
	color: var(--rtb-white);
}

.schedule-modal-header.bootcamp .btn-close,
.schedule-modal-header.flash .btn-close,
.schedule-modal-header.gymnastics .btn-close,
.schedule-modal-header.strength .btn-close {
	filter: brightness(0) invert(1);
	opacity: 1;
}

.schedule-modal-header.flash {
	background: var(--rtb-flash);
	color: var(--rtb-white);
}

.schedule-modal-header.gymnastics {
	background: var(--rtb-gymnastics);
	color: var(--rtb-white);
}

.schedule-modal-header.oly {
	background: var(--rtb-oly);
	color: var(--rtb-black);
}

.schedule-modal-header.strength {
	background: var(--rtb-strength);
	color: var(--rtb-white);
}

.schedule-filter-pill.is-active {
	transform: translateY(-1px);
}

.schedule-filter-pill.bootcamp.is-active {
	background: var(--rtb-blue-soft);
	border-color: rgba(45, 156, 219, 0.16);
	border-left-color: var(--rtb-blue);
	color: var(--rtb-black);
}

.schedule-filter-pill.flash.is-active {
	background: var(--rtb-flash-soft);
	border-color: rgba(0, 184, 148, 0.18);
	border-left-color: var(--rtb-flash);
	color: var(--rtb-black);
}

.schedule-filter-pill.strength.is-active {
	background: var(--rtb-strength-soft);
	border-color: rgba(255, 122, 89, 0.18);
	border-left-color: var(--rtb-strength);
	color: var(--rtb-black);
}

.schedule-filter-pill.oly.is-active {
	background: var(--rtb-oly-soft);
	border-color: rgba(244, 180, 0, 0.18);
	border-left-color: var(--rtb-oly);
	color: var(--rtb-black);
}

.schedule-filter-pill.gymnastics.is-active {
	background: var(--rtb-gymnastics-soft);
	border-color: rgba(155, 109, 255, 0.18);
	border-left-color: var(--rtb-gymnastics);
	color: var(--rtb-black);
}

.schedule-filter-pill:focus {
	outline: none;
}

.schedule-filter-pill:focus-visible {
	box-shadow: 0 0 0 3px rgba(17, 17, 17, 0.15);
	outline: none;
}

.no-break {
	white-space: nowrap;
}

.schedule-expectations {
	margin-top: 60px;
}

.schedule-expectations-card {
	background: #ffffff;
	border-radius: 16px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
	padding: 40px;
}

.schedule-expectations-eyebrow {
	color: #6c757d;
	display: block;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1px;
	margin-bottom: 8px;
	text-transform: uppercase;
}

.schedule-expectations-title {
	font-size: 32px;
	font-weight: 700;
}

.schedule-expectations-intro {
	color: #555555;
	font-size: 16px;
	margin: 0 auto;
	max-width: 600px;
}

.schedule-expectation-item {
	align-items: flex-start;
	background: #f8f9fa;
	border-radius: 12px;
	display: flex;
	gap: 16px;
	height: 100%;
	padding: 20px;
	transition: all 0.2s ease;
}

.schedule-expectation-item:hover {
	background: #eef2f5;
	transform: translateY(-3px);
}

.schedule-expectation-icon {
	align-items: center;
	background: #111111;
	border-radius: 10px;
	color: #ffffff;
	display: flex;
	flex-shrink: 0;
	height: 44px;
	justify-content: center;
	width: 44px;
}

.schedule-expectation-icon i {
	font-size: 18px;
}

.schedule-expectation-content h4 {
	font-size: 16px;
	font-weight: 600;
	margin-bottom: 6px;
}

.schedule-expectation-content p {
	color: #555555;
	font-size: 14px;
	line-height: 1.5;
}

@media (max-width: 767px) {
	.schedule-expectations-card {
		padding: 24px;
	}

	.schedule-expectations-title {
		font-size: 24px;
	}

	.schedule-expectation-item {
		padding: 16px;
	}
}

.schedule-expectation-icon-red {
	background: rgba(215, 25, 32, 0.12);
	color: #d71920;
}

.schedule-expectation-icon-orange {
	background: rgba(255, 138, 0, 0.14);
	color: #ff8a00;
}

.schedule-expectation-icon-blue {
	background: rgba(33, 150, 243, 0.14);
	color: #2196f3;
}

.schedule-expectation-icon-green {
	background: rgba(46, 125, 50, 0.14);
	color: #2e7d32;
}

.section-wod-preview .wod-card {
	max-width: 1200px;
	margin: 0 auto;
}

.section-wod-preview .wod-sections {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.section-wod-preview .wod-section-wod {
	grid-column: 1 / -1;
}

@media (max-width: 991.98px) {
	.section-wod-preview .wod-sections {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767.98px) {
	.section-wod-preview .wod-sections {
		grid-template-columns: 1fr;
	}
}

.section-wods-content {
	padding: 2.5rem 0 3rem;
}

.wods-toolbar {
	margin-bottom: 1rem;
}

.wods-filter-form {
	display: block;
	margin: 0;
}

.wods-filter-bar {
	align-items: flex-end;
	background: #ffffff;
	border: 1px solid rgba(15, 23, 42, 0.08);
	border-radius: 24px;
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
	display: flex;
	gap: 0.9rem 1rem;
	margin: 0 auto;
	max-width: 620px;
	padding: 0.9rem;
}

@media (max-width: 767.98px) {
	.wods-filter-bar {
		max-width: none;
		width: 100%;
		margin: 0;
		border-radius: 0;
	}

	.section-wods-content .container {
		padding-left: 0;
		padding-right: 0;
	}
}

.wods-filter-fields {
	align-items: stretch;
	display: grid;
	flex: 1 1 auto;
	gap: 0.75rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	min-width: 0;
}

.wods-filter-group {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	margin: 0;
	min-width: 0;
	width: 100%;
}

.wods-filter-select {
	border-radius: 14px;
	height: 46px;
	margin: 0;
}

.wods-filter-select:focus {
	border-color: rgba(45, 156, 219, 0.45);
	box-shadow: 0 0 0 0.2rem rgba(45, 156, 219, 0.12);
	outline: 0;
}

.wods-filter-actions {
	align-items: center;
	display: flex;
	flex: 0 0 auto;
	gap: 0.75rem;
}

.wods-filter-button {
	background: #0f172a;
	border: 1px solid #0f172a;
	border-radius: 999px;
	color: #ffffff;
	font-size: 0.9rem;
	font-weight: 800;
	height: 46px;
	line-height: 1;
	padding: 0 1.4rem;
	transition: all 0.2s ease;
	white-space: nowrap;
}

.wods-filter-button:hover {
	background: #1e293b;
	border-color: #1e293b;
}

.wods-filter-clear {
	color: #64748b;
	font-size: 0.9rem;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
}

.wods-filter-clear:hover {
	color: #0f172a;
}

@media (max-width: 767.98px) {
	.wods-filter-bar {
		align-items: stretch;
		border-radius: 20px;
		flex-direction: column;
		gap: 0.85rem;
		max-width: none;
		padding: 0.9rem;
	}

	.wods-filter-fields {
		grid-template-columns: 1fr;
	}

	.wods-filter-actions {
		align-items: stretch;
		flex-direction: column;
		gap: 0.65rem;
		width: 100%;
	}

	.wods-filter-button,
	.wods-filter-clear {
		width: 100%;
	}

	.wods-filter-button {
		justify-content: center;
	}

	.wods-filter-clear {
		display: block;
		padding: 0.15rem 0 0;
		text-align: center;
	}
}

.wods-list {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}

.wod-card {
	background: #ffffff;
	border: 1px solid rgba(15, 23, 42, 0.08);
	border-radius: 24px;
	box-shadow: 0 10px 30px rgba(15, 23, 42, 0.04);
	overflow: hidden;
	padding: 0;
	position: relative;
}

.wod-card-top {
	margin-bottom: 0;
	padding: 1.5rem 1.5rem 1rem;
	position: relative;
}

.wod-card-type {
	background: var(--rtb-red-soft);
	border: 1px solid rgba(214, 31, 38, 0.14);
	border-radius: 999px;
	color: var(--rtb-red);
	display: inline-block;
	font-size: 0.68rem;
	font-weight: 800;
	left: -12px;
	letter-spacing: 0.08em;
	padding: 0.35rem 0.65rem;
	position: relative;
	text-transform: uppercase;
	top: -12px;
}

@media (max-width: 767.98px) {
	.wod-card-type {
		left: -10px;
		top: -10px;
	}
}

.wod-card-title {
	color: #0f172a;
	font-size: clamp(1.4rem, 2vw, 2rem);
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1.08;
	margin: 0;
}

.wod-sections {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding: 0 1.5rem 1.5rem;
}

.wod-section {
	background: #fafafa;
	border: 1px solid rgba(15, 23, 42, 0.08);
	border-radius: 22px;
	overflow: hidden;
	padding: 0;
}

.wod-section-heading-wrap {
	align-items: center;
	background: rgba(15, 23, 42, 0.04);
	border-bottom: 1px solid rgba(15, 23, 42, 0.08);
	display: flex;
	gap: 0.75rem;
	justify-content: space-between;
	margin: 0;
	padding: 0.95rem 1.4rem;
	width: 100%;
}

.wod-section-heading {
	color: #0f172a;
	font-size: 0.85rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	margin: 0;
	text-transform: uppercase;
}

.wod-section-content {
	color: #334155;
	font-size: 1rem;
	line-height: 1.65;
	padding: 1rem 1.4rem 1.25rem;
}

.wod-section-content strong {
	color: #0f172a;
	font-weight: 800;
}

.wod-section-optional {
	background: rgba(15, 23, 42, 0.06);
	border-radius: 999px;
	color: #64748b;
	font-size: 0.66rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	padding: 0.35rem 0.6rem;
	text-transform: uppercase;
	white-space: nowrap;
}

.wod-section-wod-group {
	padding: 1rem 1.4rem 1.25rem;
}

.wod-format-callout {
	background: #f8fbff;
	border: 1px solid #cfe4f7;
	border-radius: 16px;
	margin: 0 0 1rem;
	padding: 0.95rem 1rem;
}

.wod-format-label {
	color: #0f172a;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	margin-bottom: 0.35rem;
	text-transform: uppercase;
}

.wod-format-text {
	color: #0f172a;
	font-size: 1rem;
	font-weight: 800;
	line-height: 1.4;
}

.wod-variant-grid {
	display: grid;
	gap: 0.9rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	padding: 0;
}

.wod-variant {
	background: #f8f8fc;
	border: 1px solid #d9ddf6;
	border-radius: 16px;
	overflow: hidden;
}

.wod-variant-heading-wrap {
	border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

.wod-variant-heading {
	color: #0f172a;
	font-size: 0.95rem;
	font-weight: 800;
	margin: 0;
	padding: 0.85rem 1rem 0.8rem;
}

.wod-variant-content {
	color: #334155;
	font-size: 1rem;
	line-height: 1.6;
	padding: 0.95rem 1rem 1rem;
}

.wod-variant-elite {
	background: rgba(93, 107, 255, 0.06);
	border-color: rgba(93, 107, 255, 0.15);
}

.wod-variant-competitive {
	background: rgba(93, 107, 255, 0.04);
	border-color: rgba(93, 107, 255, 0.12);
}

.wod-variant-performance {
	background: rgba(93, 107, 255, 0.025);
	border-color: rgba(93, 107, 255, 0.1);
}

.wod-variant-lifestyle {
	background: rgba(0, 184, 148, 0.05);
	border-color: rgba(0, 184, 148, 0.14);
}

.wod-stimulus {
	border-top: 1px solid rgba(15, 23, 42, 0.1);
	margin: 1rem 0 0;
	padding: 1rem 0 0;
}

.wod-stimulus-heading-wrap {
	margin: 0 0 0.45rem;
}

.wod-stimulus-heading {
	color: #64748b;
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	line-height: 1.2;
	margin: 0;
	text-transform: uppercase;
}

.wod-stimulus-content {
	color: #334155;
	font-size: 0.98rem;
	line-height: 1.6;
}

.wods-empty-state {
	background: #ffffff;
	border: 1px solid rgba(15, 23, 42, 0.08);
	border-radius: 24px;
	padding: 2rem;
	text-align: center;
}

.wods-empty-state h3 {
	color: #0f172a;
	font-size: 1.25rem;
	font-weight: 800;
	margin: 0 0 0.35rem;
}

.wods-empty-state p {
	color: #64748b;
	margin: 0;
}

.wods-pagination {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	justify-content: center;
	margin-top: 2rem;
}

.wods-page-button {
	background: #fff;
	border: 1px solid #d9dee7;
	border-radius: 14px;
	color: #0f172a;
	font-size: 0.95rem;
	font-weight: 700;
	padding: 0.75rem 0.95rem;
	text-decoration: none;
	transition: all 0.2s ease;
	align-items: center;
	display: inline-flex;
	justify-content: center;
	min-height: 46px;
	min-width: 46px;
}

.wods-page-button:hover,
.wods-page-button.active {
	background: #0f172a;
	border-color: #0f172a;
	color: #ffffff;
}

.wod-section-general_warmup .wod-section-heading-wrap,
.wod-section-general_warm_up .wod-section-heading-wrap,
.wod-section-specific_warmup .wod-section-heading-wrap,
.wod-section-specific_warm_up .wod-section-heading-wrap,
.wod-section-neural_warmup .wod-section-heading-wrap,
.wod-section-neural_warm_up .wod-section-heading-wrap,
.wod-section-warmup .wod-section-heading-wrap,
.wod-section-warm_up .wod-section-heading-wrap {
	background: rgba(255, 193, 7, 0.12);
	border-bottom-color: rgba(255, 193, 7, 0.3);
}

.wod-section-general_warmup .wod-section-heading,
.wod-section-general_warm_up .wod-section-heading,
.wod-section-specific_warmup .wod-section-heading,
.wod-section-specific_warm_up .wod-section-heading,
.wod-section-neural_warmup .wod-section-heading,
.wod-section-neural_warm_up .wod-section-heading,
.wod-section-warmup .wod-section-heading,
.wod-section-warm_up .wod-section-heading {
	color: #9a6700;
}

.wod-section-strength .wod-section-heading-wrap,
.wod-section-skill .wod-section-heading-wrap,
.wod-section-skills .wod-section-heading-wrap {
	background: rgba(111, 66, 193, 0.1);
	border-bottom-color: rgba(111, 66, 193, 0.25);
}

.wod-section-strength .wod-section-heading,
.wod-section-skill .wod-section-heading,
.wod-section-skills .wod-section-heading {
	color: #5a32a3;
}

.wod-section-wod .wod-section-heading-wrap {
	background: rgba(220, 53, 69, 0.1);
	border-bottom-color: rgba(220, 53, 69, 0.25);
}

.wod-section-wod .wod-section-heading {
	color: #b42335;
}

.wod-section-accessory .wod-section-heading-wrap {
	background: rgba(32, 201, 151, 0.1);
	border-bottom-color: rgba(32, 201, 151, 0.25);
}

.wod-section-accessory .wod-section-heading {
	color: #0f7a5c;
}

.wod-section-cooldown .wod-section-heading-wrap,
.wod-section-cool_down .wod-section-heading-wrap,
.wod-section-optional_cooldown .wod-section-heading-wrap,
.wod-section-dismissal .wod-section-heading-wrap {
	background: rgba(13, 110, 253, 0.1);
	border-bottom-color: rgba(13, 110, 253, 0.25);
}

.wod-section-cooldown .wod-section-heading,
.wod-section-cool_down .wod-section-heading,
.wod-section-optional_cooldown .wod-section-heading,
.wod-section-dismissal .wod-section-heading {
	color: #0a58ca;
}

@media (max-width: 991.98px) {
	.wod-variant-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 767.98px) {
	.wod-card-top {
		padding: 1rem 1rem 0.9rem;
	}

	.wod-sections {
		gap: 0.85rem;
		padding: 0 1rem 1rem;
	}

	.wod-section-heading-wrap {
		align-items: flex-start;
		flex-direction: column;
		padding: 0.85rem 1rem;
	}

	.wod-section-content {
		padding: 0.9rem 1rem 1rem;
	}

	.wod-section-wod-group {
		padding: 0.9rem 1rem 1rem;
	}

	.wod-format-callout {
		margin-bottom: 0.9rem;
	}

	.wod-stimulus {
		margin-top: 0.9rem;
		padding-top: 0.9rem;
	}
}

.wod-card-link {
	align-items: center;
	background: rgba(0, 0, 0, 0.05);
	border-radius: 50%;
	color: #666;
	display: flex;
	font-size: 0.7rem;
	height: 28px;
	justify-content: center;
	opacity: 0.4;
	position: absolute;
	right: 12px;
	top: 12px;
	transition: all 0.2s ease;
	width: 28px;
	z-index: 2;
}

.wod-card:hover .wod-card-link {
	opacity: 0.9;
}

.wod-card-link:hover {
	background: #000;
	color: #fff;
}

.wod-single-toolbar {
	margin-bottom: 20px;
}

.wod-back-link {
	align-items: center;
	color: #666;
	display: inline-flex;
	font-size: 0.85rem;
	font-weight: 600;
	gap: 6px;
	text-decoration: none;
	transition: color 0.2s ease;
}

.wod-back-link i {
	font-size: 0.75rem;
}

.wod-back-link:hover {
	color: #000;
}

.wod-nav-link span {
	display: inline-block;
	max-width: 220px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	vertical-align: bottom;
}

.wod-sections-wrap {
	position: relative;
}

.wod-card-copy {
	align-items: center;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 50%;
	color: #6b7280;
	cursor: pointer;
	display: flex;
	height: 28px;
	justify-content: center;
	position: absolute;
	transition: all 0.2s ease;
	width: 28px;
	z-index: 5;
}

.wod-card-copy i {
	font-size: 0.7rem;
	position: absolute;
	transition: all 0.15s ease;
}

.wod-card-copy i.fa-check {
	opacity: 0;
	transform: scale(0.7);
}

.wod-card-copy.is-copied i.fa-copy {
	opacity: 0;
	transform: scale(0.65);
}

.wod-card-copy:hover {
	background: #f3f4f6;
	border-color: #d1d5db;
	color: #111827;
	transform: translateY(-1px);
}

.wod-card-copy.is-copied {
	background: #dcfce7;
	border-color: #86efac;
	color: #166534;
}

.wod-card-copy.is-copied i.fa-check {
	opacity: 1;
	transform: scale(1);
}

.wod-card-copy-title {
	right: 46px;
	top: 12px;
}

.wod-card:not(:has(.wod-card-link)) .wod-card-copy-title {
	right: 12px;
}

.wod-card-copy-workout {
	right: 12px;
	top: 12px;
}

.wod-sections-wrap .wod-sections {
	padding-top: 8px;
	padding-right: 22px;
}

.theme-dark .wod-card-copy {
	background: rgba(17, 24, 39, 0.82);
	border-color: rgba(255, 255, 255, 0.08);
	color: #d1d5db;
}

.theme-dark .wod-card-copy:hover {
	background: #1f2937;
	border-color: #374151;
	color: #ffffff;
}

.theme-dark .wod-card-copy.is-copied {
	background: #14532d;
	border-color: #22c55e;
	color: #dcfce7;
}

.carousel-team {
	position: relative;
}

.carousel-team-control {
	background: #ffffff;
	border: 1px solid var(--rtb-border);
	border-radius: 999px;
	color: var(--rtb-black);
	font-size: 0.9rem;
	font-weight: 700;
	min-width: 100px;
	padding: 0.8rem 1.2rem;
	transition: all 0.2s ease;
}

.carousel-team-control:hover {
	background: var(--rtb-black);
	border-color: var(--rtb-black);
	color: #ffffff;
}

.carousel-team-controls {
	align-items: center;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	margin-top: 1.5rem;
}

.carousel-team-indicators {
	align-items: center;
	bottom: auto;
	display: flex;
	flex: 1;
	gap: 0.6rem;
	justify-content: center;
	left: auto;
	margin: 0;
	position: static;
	right: auto;
}

.carousel-team-indicators button,
.carousel-team-indicators [data-bs-target] {
	background: rgba(17, 17, 17, 0.14);
	border: 0;
	border-radius: 999px;
	height: 10px;
	margin: 0;
	opacity: 1;
	padding: 0;
	text-indent: -9999px;
	transition: all 0.2s ease;
	width: 10px;
}

.carousel-team-indicators button.active,
.carousel-team-indicators .active {
	background: var(--rtb-red);
	width: 34px;
}

.team-card {
	background: linear-gradient(
		135deg,
		rgba(255, 255, 255, 1) 0%,
		rgba(247, 247, 245, 1) 100%
	);
	border: 1px solid var(--rtb-border);
	border-radius: 28px;
	overflow: hidden;
	padding: 2.5rem;
}

.team-copy {
	color: var(--rtb-text-muted);
	font-size: 1rem;
	line-height: 1.75;
	margin-bottom: 1.25rem;
}

.team-fun {
	background: rgba(45, 156, 219, 0.08);
	border: 1px solid rgba(45, 156, 219, 0.14);
	border-radius: 16px;
	color: var(--rtb-black);
	display: inline-block;
	font-size: 0.9rem;
	font-weight: 700;
	line-height: 1.5;
	padding: 0.8rem 1rem;
}

.team-meta {
	color: var(--rtb-black);
	font-size: 0.9rem;
	font-weight: 700;
	line-height: 1.6;
	margin-bottom: 0.85rem;
}

.team-name {
	color: var(--rtb-black);
	font-size: clamp(1.9rem, 3vw, 2.6rem);
	font-weight: 700;
	letter-spacing: -0.04em;
	margin-bottom: 1rem;
}

.team-photo {
	border-radius: 24px;
	display: block;
	height: 320px;
	object-fit: cover;
	width: 100%;
}

.team-photo-placeholder {
	align-items: center;
	background:
		radial-gradient(
			circle at top left,
			rgba(45, 156, 219, 0.14),
			transparent 45%
		),
		radial-gradient(
			circle at bottom right,
			rgba(214, 31, 38, 0.14),
			transparent 45%
		),
		linear-gradient(
			135deg,
			rgba(17, 17, 17, 1) 0%,
			rgba(34, 34, 34, 1) 100%
		);
	border-radius: 24px;
	color: #ffffff;
	display: flex;
	font-size: 1.4rem;
	font-weight: 700;
	justify-content: center;
	min-height: 320px;
	padding: 2rem;
	text-align: center;
}

.team-photo-wrap {
	width: 100%;
}

.team-role {
	color: var(--rtb-red);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	margin-bottom: 0.85rem;
	text-transform: uppercase;
}

.carousel-team-float {
	align-items: center;
	background: rgba(255, 255, 255, 0.68);
	backdrop-filter: blur(8px);
	border: 1px solid rgba(17, 17, 17, 0.08);
	border-radius: 50%;
	box-shadow: 0 8px 24px rgba(17, 17, 17, 0.1);
	color: var(--rtb-black);
	display: none;
	height: 44px;
	justify-content: center;
	opacity: 0.42;
	padding: 0;
	position: absolute;
	transition: all 0.2s ease;
	width: 44px;
	z-index: 5;
}

.carousel-team-float:hover,
.carousel-team-float:focus {
	background: rgba(255, 255, 255, 0.9);
	color: var(--rtb-black);
	opacity: 0.9;
}

.carousel-team-float-prev {
	left: 10px;
}

.carousel-team-float-next {
	right: 10px;
}

.carousel-team-float i {
	font-size: 0.95rem;
}

@media (max-width: 767.98px) {
	.carousel-team-controls .carousel-team-control {
		display: none;
	}

	.carousel-team-controls {
		justify-content: center;
	}

	.carousel-team-float {
		display: inline-flex;
		top: calc(1.25rem + 240px - 22px);
		transform: none;
	}

	.team-card {
		padding: 1.25rem 1rem;
	}

	.team-photo {
		height: 240px;
	}

	.team-photo-placeholder {
		min-height: 240px;
	}

	.team-name {
		font-size: 2rem;
	}

	.team-copy {
		font-size: 0.95rem;
		line-height: 1.65;
	}

	.team-fun {
		display: block;
		width: 100%;
	}
}

.contact-form .form-label {
	color: var(--rtb-black);
	font-size: 0.88rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	margin-bottom: 0.5rem;
}

.contact-form-card,
.contact-info-card {
	background: linear-gradient(
		135deg,
		rgba(255, 255, 255, 1) 0%,
		rgba(247, 247, 245, 1) 100%
	);
	border: 1px solid var(--rtb-border);
	border-radius: 28px;
	box-shadow: 0 12px 32px rgba(17, 17, 17, 0.05);
	height: 100%;
	padding: 2rem;
}

.contact-info-card {
	display: flex;
	flex-direction: column;
}

.contact-info-copy {
	color: var(--rtb-text-muted);
	line-height: 1.75;
	margin: 0 0 1.5rem;
	max-width: 34rem;
}

.contact-info-eyebrow {
	color: var(--rtb-red);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	margin-bottom: 0.75rem;
	text-transform: uppercase;
}

.contact-info-item {
	border-top: 1px solid rgba(17, 17, 17, 0.07);
	padding: 1rem 0;
}

.contact-info-item:first-child {
	border-top: 0;
	padding-top: 0;
}

.contact-info-item:last-child {
	padding-bottom: 0;
}

.contact-info-label {
	color: var(--rtb-text-muted);
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	margin-bottom: 0.35rem;
	text-transform: uppercase;
}

.contact-info-list {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin-bottom: 1.5rem;
}

.contact-info-location {
	font-weight: 700;
}

.contact-info-title {
	color: var(--rtb-black);
	font-size: clamp(2rem, 3vw, 2.6rem);
	font-weight: 700;
	letter-spacing: -0.04em;
	line-height: 1.05;
	margin: 0 0 1rem;
}

.contact-info-value {
	color: var(--rtb-black);
	display: inline-block;
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 1.4;
	transition: color 0.2s ease;
}

a.contact-info-value:focus,
a.contact-info-value:hover {
	color: var(--rtb-red);
}

.contact-input {
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid var(--rtb-border);
	border-radius: 16px;
	box-shadow: none;
	color: var(--rtb-black);
	font-size: 1rem;
	min-height: 54px;
	padding: 0.9rem 1rem;
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease,
		background 0.2s ease;
}

.contact-input:focus {
	background: var(--rtb-white);
	border-color: rgba(45, 156, 219, 0.45);
	box-shadow: 0 0 0 0.2rem rgba(45, 156, 219, 0.12);
	color: var(--rtb-black);
	outline: 0;
}

.contact-form select.contact-input,
.contact-form .form-select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23111111' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
	background-position: right 1rem center;
	background-repeat: no-repeat;
	background-size: 16px 12px;
	padding-right: 3rem;
}

.contact-map-embed {
	border: 0;
	display: block;
	height: 260px;
	width: 100%;
}

.contact-map-embed-wrap {
	border: 1px solid var(--rtb-border);
	border-radius: 22px;
	margin-top: 1.5rem;
	overflow: hidden;
	width: 100%;
}

.contact-textarea {
	min-height: 180px;
	padding-top: 1rem;
	resize: vertical;
}

.contact-form-actions {
	align-items: flex-end;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	justify-content: space-between;
}

.contact-recaptcha-wrap {
	flex: 0 1 auto;
	min-width: 0;
}

.contact-submit {
	min-width: 170px;
}

@media (max-width: 767.98px) {
	.contact-form-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.contact-recaptcha-wrap {
		width: 100%;
	}

	.contact-recaptcha-wrap .g-recaptcha {
		display: inline-block;
		max-width: 100%;
		overflow: hidden;
	}

	.contact-submit {
		min-width: 0;
		width: 100%;
	}
}

footer {
	background: var(--rtb-black);
	border-top: 0 !important;
	color: rgba(255, 255, 255, 0.68);
	padding: 2rem 0 !important;
}

footer p {
	margin: 0;
}

.footer-contact {
	align-items: center;
	display: inline-flex;
	font-size: 0.9rem;
	gap: 0;
}

.footer-contact a {
	color: rgba(255, 255, 255, 0.8);
	font-weight: 600;
	text-decoration: none;
}

.footer-contact a:hover {
	color: #ffffff;
}

.footer-main {
	background: #050505;
	color: #ffffff;
	padding: 2rem 0;
}

.footer-logo {
	display: block;
	height: 48px;
	width: auto;
}

.footer-contact-item {
	color: rgba(255, 255, 255, 0.9);
	text-decoration: none;
	white-space: nowrap;
}

.footer-contact a.footer-contact-item:hover {
	color: #ffffff;
}

.footer-contact-sep {
	color: rgba(255, 255, 255, 0.45);
	margin: 0 12px;
}

.footer-social,
.footer-theme-button {
	align-items: center;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 50%;
	color: #ffffff;
	display: inline-flex;
	height: 40px;
	justify-content: center;
	text-decoration: none;
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		color 0.2s ease,
		transform 0.2s ease;
	width: 40px;
}

.footer-theme-button {
	padding: 0;
}

.footer-theme-button i {
	color: #ffffff;
}

.footer-social:hover,
.footer-theme-button:hover {
	transform: translateY(-2px);
}

.footer-social.facebook:hover {
	background: #1877f2;
	transform: translateY(-2px);
}

.footer-social.instagram:hover {
	background: radial-gradient(
		circle at 30% 30%,
		#feda75,
		#fa7e1e,
		#d62976,
		#962fbf,
		#4f5bd5
	);
	transform: translateY(-2px);
}

.footer-social.tiktok:hover {
	background: #000000;
	box-shadow:
		2px 0 0 #25f4ee,
		-2px 0 0 #fe2c55;
	transform: translateY(-2px);
}

.footer-theme-button:hover {
	background: rgba(255, 255, 255, 0.12);
	border-color: rgba(255, 255, 255, 0.2);
	color: #ffffff;
}

.footer-social:focus,
.footer-theme-button:focus {
	box-shadow: none;
	outline: none;
}

@media (max-width: 991.98px) {
	.footer-contact {
		flex-direction: column;
		gap: 4px;
	}

	.footer-contact-sep {
		display: none;
	}

	.footer-contact-item {
		white-space: normal;
	}
}

.admin-dock {
	bottom: 20px;
	position: fixed;
	right: 20px;
	z-index: 9999;
}

.admin-dock-btn {
	align-items: center;
	background: rgba(0, 0, 0, 0.85);
	border-radius: 999px;
	color: #ffffff;
	display: flex;
	font-size: 0.85rem;
	gap: 8px;
	padding: 8px 14px;
	text-decoration: none;
	transition: all 0.2s ease;
}

.admin-dock-btn:hover {
	background: #111827;
	color: #ffffff;
	transform: translateY(-1px);
}

.admin-dock-dot {
	background: #22c55e;
	border-radius: 50%;
	display: inline-block;
	height: 8px;
	width: 8px;
}

.admin-dock-text {
	font-weight: 600;
	letter-spacing: 0.2px;
}

body.admin-page {
	background: #f5f7fb;
	color: #111827;
}

.admin-shell {
	min-height: 100vh;
}

.admin-shell-inner {
	display: flex;
	min-height: 100vh;
}

.admin-sidebar {
	background: #0f172a;
	color: #ffffff;
	display: flex;
	flex: 0 0 260px;
	flex-direction: column;
	height: 100vh;
	left: 0;
	padding: 24px 18px;
	position: sticky;
	top: 0;
	align-self: flex-start;
}

.admin-sidebar-brand {
	margin-bottom: 28px;
}

.admin-sidebar-logo-link {
	display: block;
	text-align: center;
}

.admin-sidebar-logo {
	height: 56px;
	max-width: 100%;
	object-fit: contain;
}

.admin-sidebar-nav {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 6px;
	min-height: 0;
}

.admin-sidebar-nav a,
.admin-sidebar-footer a {
	align-items: center;
	border-radius: 12px;
	color: rgba(255, 255, 255, 0.78);
	display: flex;
	font-size: 0.95rem;
	font-weight: 600;
	gap: 12px;
	line-height: 1.2;
	padding: 12px 14px;
	text-decoration: none;
	transition:
		background 0.2s ease,
		color 0.2s ease,
		transform 0.2s ease;
}

.admin-sidebar-nav a:hover,
.admin-sidebar-footer a:hover {
	background: rgba(255, 255, 255, 0.08);
	color: #ffffff;
}

.admin-sidebar-nav a.active {
	background: #ffffff;
	color: #0f172a;
}

.admin-sidebar-icon {
	align-items: center;
	display: flex;
	flex: 0 0 20px;
	font-size: 0.95rem;
	justify-content: center;
	opacity: 0.82;
	text-align: center;
}

.admin-sidebar-label {
	flex: 1;
	min-width: 0;
}

.admin-sidebar-nav a.active .admin-sidebar-icon {
	opacity: 1;
}

.admin-sidebar-footer {
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-top: auto;
	padding-top: 18px;
}

@media (max-width: 991.98px) {
	.admin-sidebar {
		align-self: stretch;
		height: auto;
		min-height: 0;
		position: relative;
		top: auto;
	}

	.admin-sidebar-nav {
		flex: 0 0 auto;
		min-height: 0;
	}

	.admin-sidebar-footer {
		margin-top: 18px;
	}
}

.admin-sidebar-footer a[href="/sign-out"] {
	color: #fda4af;
}

.admin-sidebar-footer a[href="/sign-out"]:hover {
	background: rgba(244, 63, 94, 0.14);
	color: #ffffff;
}

.admin-topbar {
	align-items: center;
	background: #ffffff;
	border-bottom: 1px solid #e5e7eb;
	box-shadow: 0 2px 10px rgba(15, 23, 42, 0.04);
	display: flex;
	min-height: 72px;
	padding: 0 28px;
	z-index: 20;
}

.admin-topbar-title-wrap {
	display: flex;
	align-items: center;
	min-width: 0;
}

.admin-topbar-title {
	color: #0f172a;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.2;
	margin: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.admin-main {
	display: flex;
	flex: 1;
	flex-direction: column;
	min-width: 0;
}

.admin-main-content {
	background: #f8fafc;
	flex: 1;
	padding: 28px;
}

.admin-main-content .container,
.admin-main-content .container-fluid {
	max-width: 100%;
	padding-left: 0;
	padding-right: 0;
}

.admin-section {
	padding: 0;
	position: relative;
}

.admin-section .card {
	border: 1px solid #e5e7eb;
	border-radius: 16px;
	overflow: hidden;
}

.admin-section .card-body {
	padding: 1.5rem;
}

.admin-section .table {
	margin-bottom: 0;
}

.admin-section .table thead th {
	background: #f8fafc;
	border-bottom: 1px solid #e5e7eb;
	color: #475569;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.04em;

	padding: 0.9rem 1rem;
	text-transform: uppercase;
	vertical-align: middle;
	white-space: nowrap;
}

.admin-section .table tbody td {
	border-color: #eef2f7;
	padding: 0.9rem 1rem;
	vertical-align: middle;
}

.admin-section .table tbody tr:hover {
	background: #f8fafc;
}

.admin-section .table .fw-semibold {
	color: #111827;
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.3;
	margin-bottom: 0.15rem;
}

.admin-section .table .small.text-muted {
	color: #6b7280 !important;
	font-size: 0.78rem;
	line-height: 1.2;
	word-break: break-word;
}

.admin-section .badge.rounded-pill {
	border-radius: 999px !important;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1;
	padding: 0.45rem 0.7rem !important;
}

.admin-section .bg-purple {
	background: #ede9fe !important;
	color: #6d28d9 !important;
}

.admin-section .table td .badge.bg-primary {
	background: #dbeafe !important;
	color: #1d4ed8 !important;
}

.admin-section .table td .badge.bg-warning {
	background: #fef3c7 !important;
	color: #b45309 !important;
}

.admin-section .table td .badge.bg-info {
	background: #ccfbf1 !important;
	color: #0f766e !important;
}

.admin-section .table td .badge.bg-dark {
	background: #e5e7eb !important;
	color: #111827 !important;
}

.admin-section .table td .badge.bg-success {
	background: #dcfce7 !important;
	color: #166534 !important;
}

.admin-section .table td .badge.bg-danger {
	background: #fee2e2 !important;
	color: #b91c1c !important;
}

.admin-section .table td .badge.bg-secondary {
	background: #e5e7eb !important;
	color: #4b5563 !important;
}

.admin-section .text-end .d-inline-flex {
	gap: 0.4rem !important;
}

.admin-section .table .btn-sm {
	border-radius: 999px;
	font-size: 0.72rem;
	font-weight: 700;
	line-height: 1;
	min-height: 30px;
	padding: 0.45rem 0.7rem;
	transition: all 0.18s ease;
	white-space: nowrap;
}

.admin-section .table .btn-dark.btn-sm {
	background: #111827;
	border-color: #111827;
	color: #ffffff;
}

.admin-section .table .btn-dark.btn-sm:hover,
.admin-section .table .btn-dark.btn-sm:focus {
	background: #1f2937;
	border-color: #1f2937;
	box-shadow: none;
	transform: translateY(-1px);
}

.admin-section .table .btn-outline-primary.btn-sm {
	background: #ffffff;
	border-color: #bfdbfe;
	color: #1d4ed8;
}

.admin-section .table .btn-outline-primary.btn-sm:hover,
.admin-section .table .btn-outline-primary.btn-sm:focus {
	background: #eff6ff;
	border-color: #93c5fd;
	box-shadow: none;
	color: #1d4ed8;
	transform: translateY(-1px);
}

.admin-section .table .btn-outline-secondary.btn-sm {
	background: #ffffff;
	border-color: #d1d5db;
	color: #4b5563;
}

.admin-section .table .btn-outline-secondary.btn-sm:hover,
.admin-section .table .btn-outline-secondary.btn-sm:focus {
	background: #f9fafb;
	border-color: #9ca3af;
	box-shadow: none;
	color: #374151;
	transform: translateY(-1px);
}

.admin-section .table .btn-outline-danger.btn-sm {
	background: #ffffff;
	border-color: #fecaca;
	color: #dc2626;
}

.admin-section .table .btn-outline-danger.btn-sm:hover,
.admin-section .table .btn-outline-danger.btn-sm:focus {
	background: #fef2f2;
	border-color: #fca5a5;
	box-shadow: none;
	color: #b91c1c;
	transform: translateY(-1px);
}

.admin-section .form-label {
	color: #374151;
	font-size: 0.82rem;
	font-weight: 700;
	margin-bottom: 0.45rem;
}

.admin-section .form-control,
.admin-section .form-select {
	border: 1px solid #d1d5db;
	border-radius: 12px;
	box-shadow: none;
	font-size: 0.95rem;
	min-height: 44px;
}

.admin-section .form-control:focus,
.admin-section .form-select:focus {
	border-color: #111827;
	box-shadow: 0 0 0 0.12rem rgba(17, 24, 39, 0.08);
}

.admin-section .section-intro {
	color: #6b7280;
}

.admin-section .alert {
	border: 0;
	border-radius: 14px;
}

.admin-section .pagination .page-link {
	border: 1px solid #e5e7eb;
	border-radius: 10px;
	color: #374151;
	font-size: 0.85rem;
	font-weight: 600;
	margin: 0 0.15rem;
	min-width: 38px;
	text-align: center;
}

.admin-section .pagination .page-item.active .page-link {
	background: #111827;
	border-color: #111827;
	color: #ffffff;
}

.admin-section .pagination .page-link:hover {
	background: #f8fafc;
	border-color: #d1d5db;
	color: #111827;
}

@media (max-width: 991.98px) {
	.admin-section .card-body {
		padding: 1.25rem;
	}

	.admin-section .table thead th,
	.admin-section .table tbody td {
		padding: 0.8rem 0.85rem;
	}
}

@media (max-width: 767.98px) {
	.admin-section .container {
		max-width: 100%;
	}

	.admin-section .card-body {
		padding: 1rem;
	}

	.admin-section .table thead th,
	.admin-section .table tbody td {
		padding: 0.75rem 0.7rem;
	}

	.admin-section .table .fw-semibold {
		font-size: 0.9rem;
	}

	.admin-section .table .small.text-muted {
		font-size: 0.74rem;
	}

	.admin-section .table .btn-sm,
	.admin-section .badge.rounded-pill {
		font-size: 0.68rem;
		padding: 0.42rem 0.62rem !important;
	}

	.admin-section .text-end .d-inline-flex {
		gap: 0.3rem !important;
	}
}

.admin-page .card-header {
	background: #ffffff;
	border-bottom: 1px solid #e5e7eb;
	font-weight: 700;
}

.admin-page .btn {
	border-radius: 999px;
	font-weight: 700;
}

.admin-page .form-control,
.admin-page .form-select {
	border-radius: 12px;
	min-height: 46px;
}

.admin-page .form-check-input {
	margin-top: 0.2rem;
}

@media (max-width: 991px) {
	.admin-shell-inner {
		flex-direction: column;
	}

	.admin-sidebar {
		flex: 0 0 auto;
		min-height: auto;
		position: relative;
		top: auto;
		width: 100%;
	}

	.admin-topbar {
		padding: 20px;
	}

	.admin-main-content {
		padding: 20px;
	}
}

.admin-header {
	background: #111;
	border-bottom: 1px solid #222;
	position: sticky;
	top: 0;
	z-index: 1000;
}

.admin-header-inner {
	align-items: center;
	display: flex;
	gap: 20px;
	justify-content: space-between;
	padding: 12px 0;
}

.admin-logo {
	color: #fff;
	font-size: 0.95rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-decoration: none;
	text-transform: uppercase;
}

.admin-nav {
	display: flex;
	gap: 18px;
}

.admin-nav-link {
	color: #ccc;
	font-size: 0.85rem;
	font-weight: 600;
	text-decoration: none;
	transition: color 0.2s ease;
}

.admin-nav-link:hover {
	color: #fff;
}

.admin-nav-link.subtle {
	color: #888;
}

.admin-nav-link.subtle:hover {
	color: #fff;
}

.admin-wod-section-handle {
	cursor: grab !important;
}

.admin-wod-section-handle:active {
	cursor: grabbing !important;
}

.admin-published-check {
	align-items: center;
	display: flex;
	min-height: 38px;
	padding-top: 0;
}

.admin-published-check .form-check-input {
	margin-top: 0;
}

.admin-save-dock {
	bottom: 16px;
	display: flex;
	justify-content: flex-end;
	left: 260px;
	padding: 0 24px;
	position: fixed;
	right: 0;
	z-index: 200;
}

.admin-save-btn {
	align-items: center;
	background: #e5e7eb;
	border: none;
	border-radius: 50%;
	color: #6b7280;
	cursor: not-allowed;
	display: flex;
	font-size: 1rem;
	height: 52px;
	justify-content: center;
	pointer-events: none;
	transition: all 0.2s ease;
	width: 52px;
}

.admin-save-dock.is-dirty .admin-save-btn {
	background: #28a745;
	color: #ffffff;
	cursor: pointer;
	pointer-events: auto;
	box-shadow: 0 6px 18px rgba(40, 167, 69, 0.35);
}

.admin-save-dock.is-dirty .admin-save-btn:hover {
	background: #218838;
	transform: translateY(-2px);
}

.admin-save-dock.is-dirty .admin-save-btn:active {
	transform: translateY(0);
	box-shadow: 0 3px 10px rgba(40, 167, 69, 0.25);
}

@media (max-width: 991px) {
	.admin-save-dock {
		left: 0;
		padding: 0 16px;
	}
}

.admin-published-wrap {
	align-items: center;
	display: flex;
	height: 100%;
	justify-content: flex-end;
}

.admin-published-switch {
	background: #f8f9fa;
	border: 1px solid #dee2e6;
	border-radius: 14px;
	display: inline-flex;
	min-height: 46px;
	padding: 0.7rem 1rem;
}

.admin-published-switch .form-check {
	align-items: center;
	display: flex;
	gap: 0.85rem;
	margin: 0;
	min-height: 0;
	padding-left: 0;
}

.admin-published-switch .form-check-input {
	background-color: #adb5bd;
	background-image: none;
	border: 0;
	box-shadow: none;
	cursor: pointer;
	flex: 0 0 auto;
	height: 1.35rem;
	margin: 0;
	position: relative;
	width: 2.5rem;
}

.admin-published-switch .form-check-input:focus {
	box-shadow: 0 0 0 0.2rem rgba(214, 31, 38, 0.15);
}

.admin-published-switch .form-check-input:checked {
	background-color: #28a745;
	border-color: #28a745;
}

.admin-published-switch .form-check-label {
	align-items: flex-start;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	line-height: 1.1;
	margin: 0;
}

.admin-published-label-text {
	color: #212529;
	font-size: 0.95rem;
	font-weight: 700;
}

.admin-published-label-status {
	color: #6c757d;
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
}

@media (max-width: 991.98px) {
	.admin-published-wrap {
		justify-content: flex-start;
	}

	.admin-published-switch {
		width: 100%;
	}
}

.admin-wod-group-controls {
	align-items: center;
	display: flex;
	gap: 0.5rem;
}

.admin-wod-add-select {
	font-size: 0.85rem;
	height: 34px;
	padding: 0 0.6rem;
	width: 200px;
}

.admin-wod-add-button {
	align-items: center;
	background: #e7f1ff;
	border: 1px solid #b6d4fe;
	border-radius: 999px;
	color: #0d6efd;
	display: inline-flex;
	font-weight: 600;
	gap: 0.35rem;
	height: 34px;
	padding: 0 0.85rem;
}

.admin-wod-add-button:hover,
.admin-wod-add-button:focus {
	background: #d0e2ff;
	border-color: #9ec5fe;
	color: #0b5ed7;
	transform: translateY(-1px);
}

.admin-wod-add-button:disabled {
	background: #e5e7eb;
	border-color: #d1d5db;
	color: #9ca3af;
	cursor: not-allowed;
	pointer-events: none;
	box-shadow: none;
}

.admin-wod-add-button:not(:disabled):hover {
	transform: translateY(-1px);
}

.admin-wod-remove-section {
	align-items: center;
	display: inline-flex;
	height: 32px;
	justify-content: center;
	padding: 0;
	width: 32px;
}

@media (max-width: 991.98px) {
	.site-header .container,
	.hero .container,
	.section .container,
	.section .container-fluid,
	footer .container {
		max-width: 100%;
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}

	.menu-toggle {
		display: inline-flex;
	}

	.mobile-menu-overlay {
		display: flex;
	}

	.site-brand-inner {
		height: 64px;
		width: 170px;
	}

	.site-header {
		padding: 0.85rem 0;
	}

	.site-header .navbar-collapse {
		display: none !important;
	}

	.site-header-scrolled {
		padding: 0.2rem 0;
	}

	.site-header-scrolled .site-brand-inner {
		height: 42px;
	}

	.team-card {
		padding: 2rem;
	}

	.team-photo {
		height: 260px;
	}

	.team-photo-placeholder {
		min-height: 260px;
	}

	.contact-form-card,
	.contact-info-card {
		padding: 1.75rem;
	}

	.contact-map-embed {
		height: 240px;
	}

	.carousel-team-controls {
		flex-wrap: wrap;
	}

	.carousel-team-indicators {
		order: 3;
		width: 100%;
	}

	.hero {
		min-height: auto;
	}

	.schedule-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.section {
		padding: 4.5rem 0;
	}
}

@media (min-width: 992px) and (max-width: 1199.98px) {
	.site-header .container {
		padding-left: 1.75rem;
		padding-right: 1.75rem;
	}

	.site-brand-inner {
		height: 78px;
		width: 168px;
	}

	.site-header-nav .nav-link {
		font-size: 0.95rem;
		padding: 0.45rem 0 !important;
	}

	.site-header-cta {
		margin-left: 0.65rem;
		padding: 0.75rem 1rem;
	}

	.hero {
		padding: 9.5rem 0 4.5rem;
	}

	.hero-eyebrow {
		margin-top: 0.25rem;
	}
}

@media (min-width: 992px) {
	.menu-toggle,
	.mobile-menu-overlay {
		display: none !important;
	}

	.site-header .navbar-collapse {
		display: flex !important;
	}
}

@media (max-width: 991.98px) {
	.menu-toggle {
		display: inline-flex;
	}

	.mobile-menu-overlay {
		display: flex;
	}

	.site-brand-inner {
		height: 64px;
		width: 170px;
	}

	.site-header {
		padding: 0.85rem 0;
	}

	.site-header .navbar-collapse {
		display: none !important;
	}

	.site-header-scrolled {
		padding: 0.2rem 0;
	}

	.site-header-scrolled .site-brand-inner {
		height: 42px;
	}

	.team-card {
		padding: 2rem;
	}

	.team-photo {
		height: 260px;
	}

	.team-photo-placeholder {
		min-height: 260px;
	}

	.contact-form-card,
	.contact-info-card {
		padding: 1.75rem;
	}

	.contact-map-embed {
		height: 240px;
	}

	.carousel-team-controls {
		flex-wrap: wrap;
	}

	.carousel-team-indicators {
		order: 3;
		width: 100%;
	}

	.hero {
		min-height: auto;
	}

	.schedule-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.section {
		padding: 4.5rem 0;
	}
}

@media (max-width: 767.98px) {
	.site-header .container {
		padding-left: 0;
		padding-right: 0.4rem;
	}

	.site-brand {
		margin-left: -0.2rem;
		margin-top: 0.35rem;
	}

	.hero-actions .btn-dark,
	.hero-actions .btn-outline-dark {
		margin: 0 auto;
		width: 70%;
	}

	.hero-actions .d-flex {
		gap: 0.9rem !important;
	}

	.hero .btn-outline-dark {
		border-width: 1px;
	}

	.hero-actions .btn {
		font-size: 0.9rem;
		padding: 0.75rem 1rem;
	}

	.site-brand-inner {
		height: 58px;
		width: 150px;
	}

	.site-header {
		padding: 0.8rem 0;
	}

	.site-header-scrolled .site-brand-inner {
		height: 40px;
	}

	.footer-logo {
		display: block;
		margin: 0 auto;
	}

	.card-clean,
	.day,
	.review,
	.team-card {
		border-radius: 20px;
	}

	.team-card {
		border-radius: 24px;
		padding: 1.25rem;
	}

	.team-copy {
		font-size: 0.96rem;
		line-height: 1.65;
	}

	.team-fun {
		display: block;
		width: 100%;
	}

	.team-photo {
		border-radius: 20px;
		height: 220px;
	}

	.team-photo-placeholder {
		border-radius: 20px;
		font-size: 1.15rem;
		min-height: 220px;
	}

	.carousel-team-control {
		min-width: 0;
		padding: 0.75rem 1rem;
	}

	.contact-form-card,
	.contact-info-card {
		border-radius: 24px;
		padding: 1.4rem;
	}

	.contact-form-footer {
		justify-content: stretch;
	}

	.contact-info-copy {
		margin-bottom: 1.25rem;
	}

	.contact-info-item {
		padding: 0.85rem 0;
	}

	.contact-info-title {
		font-size: 2rem;
	}

	.contact-info-value {
		font-size: 1rem;
	}

	.contact-map-embed {
		height: 220px;
	}

	.contact-map-embed-wrap {
		border-radius: 18px;
		margin-top: 1.25rem;
	}

	.contact-placeholder,
	.space-showcase-main {
		min-height: 260px;
	}

	.contact-submit {
		width: 100%;
	}

	.contact-textarea {
		min-height: 150px;
	}

	.footer-center,
	.footer-left,
	.footer-right {
		text-align: center;
	}

	.footer-right {
		justify-content: center;
	}

	.hero {
		padding: 8.5rem 0 3.5rem;
	}

	.hero:before {
		top: 82px;
		width: 92px;
	}

	.hero-eyebrow {
		font-size: 0.72rem;
		margin-bottom: 1rem;
	}

	.hero-sub {
		font-size: 1rem;
		max-width: 100%;
	}

	.hero-title {
		max-width: 100%;
	}

	.navbar {
		padding: 0.8rem 0;
	}

	.schedule-grid {
		grid-template-columns: 1fr;
	}

	.section {
		padding: 4rem 0;
	}

	.space-showcase-thumbs {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.wod-card {
		border-radius: 22px;
	}

	.wod-section {
		border-radius: 18px;
	}

	.wods-filter-form {
		align-items: stretch;
		flex-direction: column;
	}

	.wods-filter-group {
		max-width: none;
	}
}

html,
body {
	max-width: 100%;
	overflow-x: clip;
}

img,
iframe,
video,
svg,
canvas {
	height: auto;
	max-width: 100%;
}

.container,
.container-fluid,
.row,
[class*="col-"] {
	min-width: 0;
}

.hero,
.section,
.space-showcase,
.space-showcase-main,
.space-showcase-thumbs,
.wod-card,
.team-card,
.contact-form-card,
.contact-info-card {
	overflow-x: clip;
}

.hero-eyebrow,
.hero-sub,
.hero-title,
.mobile-menu-link,
.contact-info-value,
.wod-card-title {
	overflow-wrap: anywhere;
	word-break: normal;
}

@media (max-width: 767.98px) {
	.hero-eyebrow {
		font-size: 0.7rem;
		letter-spacing: 0.08em;
		line-height: 1.35;
		max-width: 100%;
		white-space: normal;
	}

	.hero-title,
	.hero-sub {
		max-width: 100%;
	}

	.row {
		margin-left: 0;
		margin-right: 0;
	}

	.section .col-lg-5 {
		text-align: center;
	}

	.section-title-left,
	.section-intro {
		text-align: center !important;
	}

	.section h2.section-title-left::after {
		margin-left: auto;
		margin-right: auto;
	}

	.section .btn {
		display: inline-block;
		margin-left: auto;
		margin-right: auto;
	}
}

.mobile-menu-link::after {
	content: "";
	display: block;
	height: 1px;
	background: rgba(0, 0, 0, 0.08);
	margin-top: 0.75rem;
}

.schedule-grid .class {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	height: auto;
	justify-content: flex-start;
	min-height: 0;
	padding: 1rem;
	text-align: left;
	white-space: normal;
}

.schedule-grid .class-time {
	display: block;
	font-size: 0.8rem;
	font-weight: 600;
	line-height: 1.2;
	margin: 0;
}

.schedule-grid .class-name {
	display: block;
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.1;
	margin: 0;
	overflow-wrap: anywhere;
	word-break: break-word;
}

@media (max-width: 1399.98px) {
	.schedule-grid .class-name {
		font-size: 0.9rem;
	}
}

@media (min-width: 992px) and (max-width: 1199.98px) {
	.schedule-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.space-showcase {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.space-showcase-main {
	background: rgba(255, 255, 255, 0.7);
	border: 1px solid rgba(17, 17, 17, 0.08);
	border-radius: 28px;
	overflow: hidden;
	position: relative;
}

.space-main-image {
	display: block;
	height: auto;
	min-height: 420px;
	object-fit: cover;
	width: 100%;
	opacity: 1;
	transform: scale(1);
	transition:
		opacity 0.25s ease,
		transform 0.35s ease;
	border-radius: 28px;
}

.space-main-image.is-changing {
	opacity: 0;
	transform: scale(1.02);
}

.space-showcase-thumbs {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.space-thumb {
	background: transparent;
	border: 2px solid transparent;
	border-radius: 20px;
	cursor: pointer;
	overflow: hidden;
	padding: 0;
	position: relative;
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease,
		transform 0.2s ease;
	display: block;
	width: 100%;
}

.space-thumb::after {
	background: linear-gradient(
		180deg,
		rgba(0, 0, 0, 0) 0%,
		rgba(0, 0, 0, 0.18) 100%
	);
	content: "";
	inset: 0;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	transition: opacity 0.2s ease;
}

.space-thumb:hover {
	box-shadow: 0 10px 24px rgba(17, 17, 17, 0.08);
	transform: translateY(-2px);
}

.space-thumb:hover::after {
	opacity: 1;
}

.space-thumb.is-active {
	border-color: var(--rtb-red);
	box-shadow: 0 0 0 2px rgba(214, 31, 38, 0.12);
}

.space-thumb-image {
	display: block;
	height: 96px;
	object-fit: cover;
	width: 100%;
}

@media (max-width: 991.98px) {
	.space-main-image {
		height: 380px;
	}
}

@media (max-width: 767.98px) {
	.space-showcase {
		gap: 0.75rem;
	}

	.space-showcase-main {
		border-radius: 22px;
	}

	.space-main-image {
		min-height: 260px;
	}

	.space-showcase-thumbs {
		gap: 0.65rem;
	}

	.space-thumb {
		border-radius: 14px;
	}

	.space-thumb-image {
		height: 72px;
	}
}

.schedule-filters {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	justify-content: center;
	margin: 1.75rem auto 2rem;
}

.schedule-filter-pill {
	align-items: center;
	display: inline-flex;
	flex: 0 0 auto;
	justify-content: center;
	padding: 0.7rem 1rem;
	width: auto;
	background: #e5e7eb;
	border: 1px solid transparent;
	border-left: 4px solid transparent;
	border-radius: 999px;
	color: var(--rtb-text-muted);
	cursor: pointer;
	line-height: 1;
}

@media (max-width: 767.98px) {
	.schedule-filters {
		align-items: center;
		display: flex;
		flex-wrap: wrap;
		gap: 0.5rem;
		justify-content: center;
		margin: 1.5rem auto 1.5rem;
		max-width: 320px;
		overflow: visible;
		padding-bottom: 0;
	}

	.schedule-filter-pill {
		font-size: 0.9rem;
	}
}

.schedule-filter-pill:not(.is-active):hover {
	background: #d1d5db;
	color: var(--rtb-black);
	transform: translateY(-1px);
}

#reviews-google {
	margin-top: 2rem;
}

.review img.rounded-circle {
	border: 2px solid #f1f3f5;
	height: 48px;
	object-fit: cover;
	width: 48px;
}

.review strong {
	color: #111111;
	display: block;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.2;
	margin-bottom: 0.2rem;
}

.review .text-muted.small {
	color: #f4b400 !important;
	font-size: 0.85rem !important;
	letter-spacing: 0.08em;
	line-height: 1;
}

.review .mt-auto {
	margin-top: auto;
}

.review .pt-3 {
	padding-top: 1rem !important;
}

.review-avatar,
.review-google-icon {
	align-items: center;
	border-radius: 50%;
	display: flex;
	height: 40px;
	justify-content: center;
	overflow: hidden;
	width: 40px;
	flex: 0 0 40px;
}

.review-avatar img,
.review-google-icon img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.review-stars-row {
	color: #f4b400;
	letter-spacing: 0.08em;
	line-height: 1.4;
}

.review-google-button {
	background: #ffffff;
	border: 1px solid #d0d7de;
	border-radius: 999px;
	color: #111111;
	display: inline-flex;
	font-size: 0.76rem;
	font-weight: 700;
	line-height: 1;
	padding: 0.5rem 0.85rem;
	text-decoration: none;
	transition:
		background 0.2s ease,
		border-color 0.2s ease,
		color 0.2s ease;
}

.review-google-button:hover,
.review-google-button:focus {
	background: #111111;
	border-color: #111111;
	color: #ffffff;
	text-decoration: none;
}

#reviews-google .row.g-4 {
	--bs-gutter-x: 1.5rem;
	--bs-gutter-y: 1.5rem;
}

@media (max-width: 767.98px) {
	.reviews-google-summary {
		margin-bottom: 2rem;
	}

	.reviews-google-summary h3 {
		font-size: 2.25rem;
	}

	.review {
		padding: 1.25rem;
	}
}

.reviews-layout > .col-lg-4,
.reviews-layout > .col-xl-3 {
	display: flex;
}

.reviews-rating-panel {
	align-items: flex-start;
	background: #ffffff;
	border: 1px solid #e9ecef;
	border-radius: 1.25rem;
	box-shadow: 0 0.75rem 2rem rgba(17, 17, 17, 0.06);
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: center;
	padding: 2rem;
	width: 100%;
}

.reviews-rating-label {
	color: #111111;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.2;
	margin-bottom: 0.5rem;
	text-transform: uppercase;
}

.reviews-rating-score {
	color: #111111;
	font-size: 3.25rem;
	font-weight: 800;
	letter-spacing: -0.05em;
	line-height: 1;
	margin-bottom: 0.5rem;
}

.reviews-rating-stars {
	color: #f4b400;
	font-size: 1.25rem;
	letter-spacing: 0.05em;
}

.reviews-rating-count {
	color: #6c757d;
	font-size: 1rem;
	line-height: 1.5;
	margin-bottom: 1rem;
}

.reviews-google-wordmark {
	color: #111111;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1;
	margin-top: auto;
}

@media (max-width: 991.98px) {
	.reviews-rating-panel {
		align-items: center;
		padding: 1.5rem;
		text-align: center;
	}
}

.review-google-badge {
	align-items: center;
	background: #ffffff;
	border: 1px solid #e9ecef;
	border-radius: 999px;
	color: #4285f4;
	display: inline-flex;
	font-size: 0.8rem;
	font-weight: 800;
	height: 28px;
	justify-content: center;
	width: 28px;
}

.reviews-google-wordmark span:nth-child(1) {
	color: #4285f4;
}

.reviews-google-wordmark span:nth-child(2) {
	color: #ea4335;
}

.reviews-google-wordmark span:nth-child(3) {
	color: #fbbc05;
}

.reviews-google-wordmark span:nth-child(4) {
	color: #4285f4;
}

.reviews-google-wordmark span:nth-child(5) {
	color: #34a853;
}

.reviews-google-wordmark span:nth-child(6) {
	color: #ea4335;
}

section[id] {
	scroll-margin-top: 40px;
}

@media (max-width: 991.98px) {
	section[id] {
		scroll-margin-top: 60px;
	}
}

.page-hero {
	overflow: hidden;
	position: relative;
}

.page-hero-compact {
	align-items: center;
	background-color: #111111;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	display: flex;
	min-height: 360px;
	padding: 0;
}

.page-hero.page-hero-compact .page-hero-content {
	align-items: center;
	display: flex;
	justify-content: center;
	transform: translateY(50px);
}

.page-hero.page-hero-compact .page-hero-title {
	margin: 0 !important;
}

.page-hero-overlay {
	background: linear-gradient(
		180deg,
		rgba(0, 0, 0, 0.55) 0%,
		rgba(0, 0, 0, 0.65) 100%
	);
	bottom: 0;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}

.page-hero-content {
	margin: 0 auto;
	max-width: 760px;
	position: relative;
	z-index: 2;
}

.page-hero-title {
	color: #ffffff;
	font-size: clamp(2.25rem, 4vw, 3.6rem);
	font-weight: 800;
	line-height: 1.05;
	margin: 0 0 1rem;
}

.section-login {
	align-items: center;
	background: #eef2f7;
	display: flex;
	min-height: 100vh;
	padding: 3rem 0;
}

.login-card {
	background: #ffffff;
	border: 1px solid rgba(15, 23, 42, 0.08);
	border-radius: 1.5rem;
	box-shadow: 0 24px 60px rgba(15, 23, 42, 0.1);
	overflow: hidden;
}

.login-header {
	padding: 3rem 3rem 2rem;
	text-align: center;
}

.login-logo {
	height: 160px;
	max-width: 100%;
}

.login-title {
	color: #1f2937;
	font-size: clamp(2.25rem, 4vw, 3rem);
	font-weight: 700;
	letter-spacing: -0.03em;
	margin-bottom: 0.75rem;
}

.login-body {
	border-top: 1px solid rgba(15, 23, 42, 0.08);
	padding: 3rem;
}

.login-label {
	color: #6b7280;
	font-size: 0.95rem;
	font-weight: 600;
	margin-bottom: 0.85rem;
}

.login-label span {
	color: #dc2626;
}

.login-input-wrap {
	align-items: stretch;
	background: #e9eef7;
	border: 1px solid transparent;
	border-radius: 1rem;
	display: flex;
	overflow: hidden;
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease,
		transform 0.2s ease;
}

.login-input-wrap:focus-within {
	background: #edf3ff;
	border-color: rgba(59, 130, 246, 0.25);
	box-shadow: 0 0 0 0.25rem rgba(59, 130, 246, 0.08);
}

.login-input-icon {
	align-items: center;
	color: #6b7280;
	display: flex;
	font-size: 1.35rem;
	justify-content: center;
	min-width: 4.25rem;
}

.login-input {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	color: #111827;
	font-size: 1.2rem;
	min-height: 5rem;
	padding: 1rem 1.25rem 1rem 0;
}

.login-input:focus {
	background: transparent;
	border: 0;
	box-shadow: none;
	outline: none;
}

.login-input-password {
	padding-right: 1rem;
}

.login-password-toggle {
	align-items: center;
	background: rgba(255, 255, 255, 0.35);
	border: 0;
	color: #6b7280;
	display: flex;
	font-size: 1.4rem;
	justify-content: center;
	min-width: 5.5rem;
	transition:
		background 0.2s ease,
		color 0.2s ease;
}

.login-password-toggle:hover {
	background: rgba(255, 255, 255, 0.6);
	color: #111827;
}

.login-password-toggle:focus {
	box-shadow: none;
	outline: none;
}

.login-check {
	align-items: center;
	display: flex;
	min-height: 3rem;
}

.login-check .form-check-input {
	border-radius: 0.45rem;
	height: 1.45rem;
	margin-right: 0.85rem;
	margin-top: 0;
	width: 1.45rem;
}

.login-check .form-check-label {
	color: #6b7280;
	font-size: 1.15rem;
	font-weight: 500;
}

.login-submit {
	background: #111827;
	border: 0;
	border-radius: 0.9rem;
	color: #ffffff;
	font-size: 1.15rem;
	font-weight: 600;
	min-width: 12rem;
	padding: 1rem 2rem;
	transition:
		background 0.2s ease,
		transform 0.2s ease,
		box-shadow 0.2s ease;
}

.login-submit:hover {
	background: #dc2626;
	box-shadow: 0 14px 28px rgba(220, 38, 38, 0.18);
	color: #ffffff;
	transform: translateY(-1px);
}

.login-submit:focus {
	box-shadow: 0 0 0 0.25rem rgba(220, 38, 38, 0.18);
	color: #ffffff;
	outline: none;
}

.section-login .alert {
	border-radius: 0.9rem;
	font-size: 0.95rem;
	margin-bottom: 0;
}

@media (max-width: 767.98px) {
	.section-login {
		padding: 1.5rem 0;
	}

	.login-header {
		padding: 2.25rem 1.5rem 1.5rem;
	}

	.login-body {
		padding: 1.5rem;
	}

	.login-input {
		font-size: 1.05rem;
		min-height: 4.5rem;
	}

	.login-input-icon {
		font-size: 1.15rem;
		min-width: 3.5rem;
	}

	.login-password-toggle {
		font-size: 1.15rem;
		min-width: 4.25rem;
	}

	.login-check .form-check-label {
		font-size: 1rem;
	}

	.login-submit {
		min-width: 100%;
		width: 100%;
	}

	.login-body .d-flex.justify-content-between,
	.login-body .d-flex.align-items-center.justify-content-between {
		align-items: stretch !important;
		flex-direction: column;
	}
}

.pricing-block {
	max-width: 1100px;
}

.pricing-title {
	color: var(--rtb-black);
	font-size: clamp(1.8rem, 3vw, 2.4rem);
	font-weight: 700;
	letter-spacing: -0.04em;
	margin-bottom: 0.75rem;
}

.pricing-copy {
	color: var(--rtb-text-muted);
	font-size: 1rem;
	line-height: 1.65;
	margin: 0 auto;
	max-width: 640px;
}

.pricing-card {
	background: linear-gradient(
		180deg,
		rgba(255, 255, 255, 0.98) 0%,
		rgba(247, 247, 245, 1) 100%
	);
	border: 1px solid var(--rtb-border);
	border-radius: 28px;
	box-shadow: 0 12px 32px rgba(17, 17, 17, 0.05);
	overflow: hidden;
	padding: 2.2rem 2rem 2rem;
	position: relative;
	transition: all 0.22s ease;
}

.pricing-card:hover {
	box-shadow: 0 20px 48px rgba(17, 17, 17, 0.1);
	transform: translateY(-4px);
}

.pricing-card-open {
	border-color: rgba(17, 17, 17, 0.08);
}

.pricing-card-unlimited {
	background: linear-gradient(
		180deg,
		rgba(214, 31, 38, 0.06) 0%,
		rgba(255, 255, 255, 1) 100%
	);
	border-color: rgba(214, 31, 38, 0.14);
}

.pricing-card-top {
	margin-bottom: 1.5rem;
}

.pricing-badge {
	background: rgba(17, 17, 17, 0.06);
	border-radius: 999px;
	color: var(--rtb-black);
	display: inline-block;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	margin-bottom: 1rem;
	padding: 0.45rem 0.75rem;
	text-transform: uppercase;
}

.pricing-card-unlimited .pricing-badge {
	background: rgba(214, 31, 38, 0.1);
	color: var(--rtb-red);
}

.pricing-card-title {
	color: var(--rtb-black);
	font-size: 1.7rem;
	font-weight: 700;
	letter-spacing: -0.03em;
	margin-bottom: 0.65rem;
}

.pricing-card-subtitle {
	color: var(--rtb-text-muted);
	font-size: 1rem;
	line-height: 1.6;
	margin: 0 auto;
	max-width: 420px;
}

.pricing-price-wrap {
	border-bottom: 1px solid rgba(17, 17, 17, 0.08);
	border-top: 1px solid rgba(17, 17, 17, 0.08);
	margin-bottom: 1.5rem;
	padding: 1.4rem 0;
}

.pricing-price-line {
	align-items: flex-end;
	display: inline-flex;
	gap: 0.15rem;
	justify-content: center;
}

.pricing-currency {
	color: var(--rtb-black);
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1;
	transform: translateY(-0.35rem);
}

.pricing-price {
	color: var(--rtb-black);
	font-size: clamp(3.4rem, 6vw, 4.4rem);
	font-weight: 800;
	letter-spacing: -0.06em;
	line-height: 0.9;
}

.pricing-frequency {
	color: var(--rtb-text-muted);
	font-size: 1rem;
	font-weight: 600;
	margin-left: 0.2rem;
	padding-bottom: 0.45rem;
}

.pricing-feature-list {
	display: flex;
	flex-direction: column;
	gap: 0.9rem;
	text-align: left;
}

.pricing-feature-item {
	align-items: center;
	color: var(--rtb-black);
	display: flex;
	font-size: 1rem;
	font-weight: 600;
	gap: 0.75rem;
	line-height: 1.5;
}

.pricing-feature-check {
	align-items: center;
	background: rgba(45, 156, 219, 0.12);
	border-radius: 50%;
	color: var(--rtb-blue);
	display: inline-flex;
	flex: 0 0 30px;
	font-size: 0.8rem;
	height: 30px;
	justify-content: center;
	width: 30px;
}

.pricing-card-unlimited .pricing-feature-check {
	background: rgba(214, 31, 38, 0.12);
	color: var(--rtb-red);
}

@media (max-width: 767.98px) {
	.pricing-card {
		padding: 1.75rem 1.25rem 1.5rem;
	}

	.pricing-card-title {
		font-size: 1.45rem;
	}

	.pricing-card-subtitle {
		font-size: 0.95rem;
	}

	.pricing-price-wrap {
		margin-bottom: 1.25rem;
		padding: 1.2rem 0;
	}

	.pricing-feature-item {
		font-size: 0.95rem;
	}
}

.wods-page-button:hover {
	border-color: #0f172a;
	text-decoration: none;
	transform: translateY(-1px);
}

.wods-page-button.active {
	background: #0f172a;
	border-color: #0f172a;
	color: #fff;
}

.wods-page-nav {
	min-width: 70px;
	padding-left: 1rem;
	padding-right: 1rem;
}

.wods-page-ellipsis {
	color: #64748b;
	font-weight: 700;
	padding: 0 0.2rem;
}

body.theme-dark {
	background: #0b0b0b;
	color: #f5f5f5;
}

body.theme-dark main {
	background: #0b0b0b;
}

body.theme-dark .section {
	background: #0f0f0f;
}

body.theme-dark .section-alt,
body.theme-dark .section.bg-light {
	background: #141414 !important;
}

body.theme-dark .section-accent {
	background:
		radial-gradient(
			circle at top left,
			rgba(45, 156, 219, 0.08),
			transparent 38%
		),
		radial-gradient(
			circle at bottom right,
			rgba(214, 31, 38, 0.08),
			transparent 38%
		),
		#121212 !important;
}

body.theme-dark .section + .section {
	border-top: 1px solid rgba(255, 255, 255, 0.06);
}

body.theme-dark h1,
body.theme-dark h2,
body.theme-dark h3,
body.theme-dark h4,
body.theme-dark h5,
body.theme-dark h6 {
	color: #ffffff;
}

body.theme-dark p,
body.theme-dark li,
body.theme-dark .section-intro,
body.theme-dark .stat-label,
body.theme-dark .review p,
body.theme-dark .card-clean p,
body.theme-dark .schedule-expectations-intro,
body.theme-dark .schedule-expectation-content p,
body.theme-dark .schedule-empty,
body.theme-dark .pricing-copy,
body.theme-dark .pricing-card-subtitle,
body.theme-dark .contact-info-copy,
body.theme-dark .wod-section-content,
body.theme-dark .wod-variant-content,
body.theme-dark .wod-stimulus-content,
body.theme-dark .wods-empty-state p {
	color: rgba(255, 255, 255, 0.85);
}

body.theme-dark .site-header-scrolled {
	background: rgba(11, 11, 11, 0.92) !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
	box-shadow:
		0 12px 30px rgba(0, 0, 0, 0.35),
		0 2px 8px rgba(0, 0, 0, 0.2);
}

body.theme-dark .site-header-nav .nav-link {
	color: rgba(255, 255, 255, 0.9);
}

body.theme-dark .site-header-nav .nav-link:hover,
body.theme-dark .site-header-nav .nav-link:focus,
body.theme-dark .site-header-nav .nav-link.is-active {
	color: #ffffff;
}

body.theme-dark .site-header-nav .nav-link.is-active::after {
	background: var(--rtb-red);
}

body.theme-dark .btn-dark {
	background: var(--rtb-red);
	border-color: var(--rtb-red);
}

body.theme-dark .btn-outline-dark {
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.14);
	color: #ffffff;
}

body.theme-dark .btn-outline-dark:hover,
body.theme-dark .btn-outline-dark:focus {
	background: #ffffff;
	border-color: #ffffff;
	color: #111111;
}

body.theme-dark .card-clean,
body.theme-dark .review,
body.theme-dark .stat-card,
body.theme-dark .day,
body.theme-dark .schedule-expectations-card,
body.theme-dark .pricing-card,
body.theme-dark .contact-info-card,
body.theme-dark .contact-form-card,
body.theme-dark .team-card,
body.theme-dark .wod-card,
body.theme-dark .wod-section,
body.theme-dark .wods-empty-state {
	background: #151515;
	border: 1px solid rgba(255, 255, 255, 0.08);
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.3);
}

body.theme-dark .card-clean h4,
body.theme-dark .review h4,
body.theme-dark .day-title,
body.theme-dark .schedule-expectations-title,
body.theme-dark .schedule-expectation-content h4,
body.theme-dark .pricing-title,
body.theme-dark .pricing-card-title,
body.theme-dark .wod-card-title,
body.theme-dark .wod-section-heading,
body.theme-dark .wod-variant-heading,
body.theme-dark .wod-format-text,
body.theme-dark .contact-info-title,
body.theme-dark .wods-empty-state h3 {
	color: #ffffff;
}

body.theme-dark .stat,
body.theme-dark .stat-number,
body.theme-dark .stat-text {
	color: #ffffff;
}

body.theme-dark .stat-card-blue {
	background: linear-gradient(
		180deg,
		rgba(45, 156, 219, 0.14) 0%,
		#151515 100%
	);
}

body.theme-dark .stat-card-red {
	background: linear-gradient(
		180deg,
		rgba(214, 31, 38, 0.14) 0%,
		#151515 100%
	);
}

body.theme-dark .stat-card-strength {
	background: linear-gradient(
		180deg,
		rgba(255, 122, 89, 0.14) 0%,
		#151515 100%
	);
}

body.theme-dark .schedule-expectation-item {
	background: #1a1a1a;
}

body.theme-dark .schedule-expectation-item:hover {
	background: #202020;
}

body.theme-dark .class {
	color: #ffffff;
}

body.theme-dark .class span,
body.theme-dark .class-time {
	color: rgba(255, 255, 255, 0.72);
}

body.theme-dark .class-name {
	color: #ffffff;
}

body.theme-dark .bootcamp {
	background: rgba(45, 156, 219, 0.16);
	border-color: rgba(45, 156, 219, 0.28);
	color: #ffffff;
}

body.theme-dark .flash {
	background: rgba(0, 184, 148, 0.14);
	border-color: rgba(0, 184, 148, 0.24);
	color: #ffffff;
}

body.theme-dark .strength {
	background: rgba(255, 122, 89, 0.16);
	border-color: rgba(255, 122, 89, 0.28);
	color: #ffffff;
}

body.theme-dark .oly {
	background: rgba(244, 180, 0, 0.16);
	border-color: rgba(244, 180, 0, 0.3);
	color: #ffffff;
}

body.theme-dark .gymnastics {
	background: rgba(155, 109, 255, 0.16);
	border-color: rgba(155, 109, 255, 0.28);
	color: #ffffff;
}

body.theme-dark .schedule-filters {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	justify-content: center;
}

body.theme-dark .schedule-filter-pill {
	background: #151515;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-left: 4px solid rgba(255, 255, 255, 0.14);
	border-radius: 999px;
	box-shadow: none;
	color: rgba(255, 255, 255, 0.78);
	font-weight: 700;
	transition: all 0.2s ease;
}

body.theme-dark .schedule-filter-pill:hover,
body.theme-dark .schedule-filter-pill:focus {
	color: #ffffff;
	transform: translateY(-1px);
}

body.theme-dark .schedule-filter-pill:focus-visible {
	box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.1);
	outline: none;
}

body.theme-dark .schedule-filter-pill.is-active {
	color: #ffffff;
}

body.theme-dark .schedule-filter-pill.bootcamp {
	border-color: rgba(45, 156, 219, 0.24);
	border-left-color: var(--rtb-blue);
}

body.theme-dark .schedule-filter-pill.bootcamp.is-active {
	background: rgba(45, 156, 219, 0.16);
	border-color: rgba(45, 156, 219, 0.34);
	border-left-color: var(--rtb-blue);
	color: #ffffff;
}

body.theme-dark .schedule-filter-pill.flash {
	border-color: rgba(0, 184, 148, 0.22);
	border-left-color: var(--rtb-flash);
}

body.theme-dark .schedule-filter-pill.flash.is-active {
	background: rgba(0, 184, 148, 0.14);
	border-color: rgba(0, 184, 148, 0.3);
	border-left-color: var(--rtb-flash);
	color: #ffffff;
}

body.theme-dark .schedule-filter-pill.strength {
	border-color: rgba(255, 122, 89, 0.22);
	border-left-color: var(--rtb-strength);
}

body.theme-dark .schedule-filter-pill.strength.is-active {
	background: rgba(255, 122, 89, 0.16);
	border-color: rgba(255, 122, 89, 0.32);
	border-left-color: var(--rtb-strength);
	color: #ffffff;
}

body.theme-dark .schedule-filter-pill.oly {
	border-color: rgba(244, 180, 0, 0.24);
	border-left-color: var(--rtb-oly);
}

body.theme-dark .schedule-filter-pill.oly.is-active {
	background: rgba(244, 180, 0, 0.16);
	border-color: rgba(244, 180, 0, 0.32);
	border-left-color: var(--rtb-oly);
	color: #ffffff;
}

body.theme-dark .schedule-filter-pill.gymnastics {
	border-color: rgba(155, 109, 255, 0.24);
	border-left-color: var(--rtb-gymnastics);
}

body.theme-dark .schedule-filter-pill.gymnastics.is-active {
	background: rgba(155, 109, 255, 0.16);
	border-color: rgba(155, 109, 255, 0.32);
	border-left-color: var(--rtb-gymnastics);
	color: #ffffff;
}

body.theme-dark .pricing-card {
	border-radius: 32px;
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.28);
	position: relative;
	overflow: hidden;
}

body.theme-dark .pricing-card::before {
	background: linear-gradient(
		90deg,
		rgba(214, 31, 38, 0.9),
		rgba(45, 156, 219, 0.9)
	);
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}

body.theme-dark .pricing-card-top,
body.theme-dark .pricing-price-wrap,
body.theme-dark .pricing-feature-list {
	position: relative;
	z-index: 1;
}

body.theme-dark .pricing-card-open {
	background:
		linear-gradient(
			180deg,
			rgba(255, 255, 255, 0.02) 0%,
			rgba(255, 255, 255, 0) 100%
		),
		#151515;
}

body.theme-dark .pricing-card-unlimited {
	background:
		radial-gradient(
			circle at top center,
			rgba(214, 31, 38, 0.16),
			transparent 55%
		),
		linear-gradient(
			180deg,
			rgba(255, 255, 255, 0.03) 0%,
			rgba(255, 255, 255, 0) 100%
		),
		#151515;
	border-color: rgba(214, 31, 38, 0.16);
}

body.theme-dark .pricing-badge {
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.08);
	color: rgba(255, 255, 255, 0.88);
}

body.theme-dark .pricing-card-unlimited .pricing-badge {
	background: rgba(214, 31, 38, 0.14);
	border-color: rgba(214, 31, 38, 0.22);
	color: #ff5a5f;
}

body.theme-dark .pricing-price-wrap,
body.theme-dark .pricing-feature-list {
	border-top-color: rgba(255, 255, 255, 0.08);
}

body.theme-dark .pricing-currency,
body.theme-dark .pricing-price {
	color: #ffffff;
}

body.theme-dark .pricing-frequency {
	color: rgba(255, 255, 255, 0.58);
}

body.theme-dark .pricing-feature-item {
	color: rgba(255, 255, 255, 0.86);
}

body.theme-dark .pricing-feature-check {
	background: rgba(255, 255, 255, 0.08);
	color: #ffffff;
}

body.theme-dark .pricing-card-open .pricing-feature-check {
	background: rgba(45, 156, 219, 0.16);
	color: #59b8f0;
}

body.theme-dark .pricing-card-unlimited .pricing-feature-check {
	background: rgba(214, 31, 38, 0.16);
	color: #ff5a5f;
}

body.theme-dark .contact-info-card {
	background:
		radial-gradient(
			circle at top left,
			rgba(214, 31, 38, 0.1),
			transparent 45%
		),
		linear-gradient(
			180deg,
			rgba(255, 255, 255, 0.02) 0%,
			rgba(255, 255, 255, 0) 100%
		),
		#151515;
}

body.theme-dark .contact-info-eyebrow {
	color: #ff5a5f;
}

body.theme-dark .contact-info-label {
	color: rgba(255, 255, 255, 0.55);
}

body.theme-dark .contact-info-item {
	border-top-color: rgba(255, 255, 255, 0.08);
}

body.theme-dark .contact-info-value,
body.theme-dark .contact-info-value:link,
body.theme-dark .contact-info-value:visited {
	color: #ffffff;
}

body.theme-dark .contact-info-value:hover,
body.theme-dark .contact-info-value:focus {
	color: #ff5a5f;
}

body.theme-dark .contact-map-embed-wrap {
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 22px;
	overflow: hidden;
}

body.theme-dark .contact-form .form-label {
	color: #ffffff;
}

body.theme-dark .contact-input,
body.theme-dark .contact-form .form-control,
body.theme-dark .contact-form .form-select {
	background-color: #1b1b1b;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 18px;
	color: #ffffff;
}

body.theme-dark .contact-input::placeholder,
body.theme-dark .contact-form .form-control::placeholder {
	color: rgba(255, 255, 255, 0.42);
}

body.theme-dark .contact-input:focus,
body.theme-dark .contact-form .form-control:focus,
body.theme-dark .contact-form .form-select:focus {
	background-color: #202020;
	border-color: rgba(214, 31, 38, 0.45);
	box-shadow: 0 0 0 0.2rem rgba(214, 31, 38, 0.14);
	color: #ffffff;
}

body.theme-dark .contact-form select.contact-input,
body.theme-dark .contact-form .form-select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23d1d5db' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
	background-position: right 1rem center;
	background-repeat: no-repeat;
	background-size: 16px 12px;
	padding-right: 3rem;
}

body.theme-dark .contact-textarea {
	min-height: 190px;
}

body.theme-dark .contact-form .invalid-feedback {
	color: #ff7b80;
}

body.theme-dark .contact-form-message.alert-success {
	background: rgba(25, 135, 84, 0.16);
	border: 1px solid rgba(25, 135, 84, 0.28);
	color: #7ee2ac;
}

body.theme-dark .contact-form-message.alert-danger {
	background: rgba(220, 53, 69, 0.16);
	border: 1px solid rgba(220, 53, 69, 0.28);
	color: #ff8a93;
}

body.theme-dark .contact-form-actions {
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	padding-top: 1.25rem;
}

body.theme-dark .contact-recaptcha-wrap {
	background: rgba(255, 255, 255, 0.02);
	border-radius: 18px;
	padding: 0;
}

body.theme-dark .team-card {
	border-radius: 32px;
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.28);
	color: #ffffff;
	overflow: hidden;
	position: relative;
}

body.theme-dark .team-card::before {
	background: linear-gradient(
		90deg,
		rgba(214, 31, 38, 0.9),
		rgba(45, 156, 219, 0.9)
	);
	content: "";
	display: block;
	height: 2px;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}

body.theme-dark .team-role,
body.theme-dark .team-card .team-role {
	color: #ff5a5f;
}

body.theme-dark .team-name,
body.theme-dark .team-card .team-name,
body.theme-dark .team-card h3,
body.theme-dark .team-card h4 {
	color: #ffffff !important;
}

body.theme-dark .team-copy,
body.theme-dark .team-card .team-copy,
body.theme-dark .team-card p {
	color: rgba(255, 255, 255, 0.78) !important;
}

body.theme-dark .team-meta {
	color: rgba(255, 255, 255, 0.82) !important;
}

body.theme-dark .team-fun {
	background: rgba(45, 156, 219, 0.12);
	border: 1px solid rgba(45, 156, 219, 0.24);
	color: #dff1ff !important;
}

body.theme-dark .team-fun * {
	color: #dff1ff !important;
}

body.theme-dark .carousel-indicators [data-bs-target] {
	background-color: rgba(255, 255, 255, 0.28);
	border: 0;
	box-shadow: none;
	opacity: 1;
}

body.theme-dark .carousel-indicators .active {
	background-color: var(--rtb-red);
}

body.theme-dark .team-prev,
body.theme-dark .team-next {
	background: #ffffff;
	border-color: #ffffff;
	color: #111111;
}

body.theme-dark .team-prev:hover,
body.theme-dark .team-next:hover,
body.theme-dark .team-prev:focus,
body.theme-dark .team-next:focus {
	background: #f2f2f2;
	border-color: #f2f2f2;
	color: #111111;
}

body.theme-dark .section-wods-content {
	background: transparent;
}

body.theme-dark .wod-card {
	background: #121212;
	border: 1px solid rgba(255, 255, 255, 0.07);
	border-radius: 28px;
	box-shadow: 0 14px 36px rgba(0, 0, 0, 0.28);
	overflow: hidden;
}

body.theme-dark .wod-card-top {
	padding-bottom: 1.1rem;
}

body.theme-dark .wod-card-title {
	color: #ffffff;
	font-weight: 800;
	letter-spacing: -0.03em;
}

body.theme-dark .wod-section {
	background: #161616;
	border: 1px solid rgba(255, 255, 255, 0.06);
	border-radius: 22px;
	box-shadow: none;
	overflow: hidden;
}

body.theme-dark .wod-section-heading-wrap {
	background: #1c1c1c;
	border-bottom: 1px solid rgba(255, 255, 255, 0.07);
	padding: 1rem 1.4rem;
}

body.theme-dark .wod-section-heading {
	color: #ffffff;
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.08em;
}

body.theme-dark .wod-section-content strong,
body.theme-dark .wod-variant-content strong,
body.theme-dark .wod-stimulus-content strong,
body.theme-dark .wod-format-text strong {
	color: #ffffff;
}

body.theme-dark .wod-section-wod-group {
	background: transparent;
}

body.theme-dark .wod-format-callout {
	background: #1c1c1c;
	border: 1px solid rgba(255, 255, 255, 0.07);
	border-radius: 16px;
}

body.theme-dark .wod-format-label,
body.theme-dark .wod-stimulus-heading {
	color: rgba(255, 255, 255, 0.62);
}

body.theme-dark .wod-format-text {
	color: #ffffff;
}

body.theme-dark .wod-variant {
	background: #181818;
	border: 1px solid rgba(255, 255, 255, 0.07);
	border-radius: 18px;
}

body.theme-dark .wod-variant-heading-wrap {
	background: rgba(255, 255, 255, 0.03);
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

body.theme-dark .wod-stimulus {
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

body.theme-dark .wod-section-optional {
	background: rgba(255, 255, 255, 0.07);
	color: rgba(255, 255, 255, 0.72);
}

body.theme-dark .wods-page-button {
	background: #161616;
	border: 1px solid rgba(255, 255, 255, 0.08);
	color: rgba(255, 255, 255, 0.86);
}

body.theme-dark .wods-page-button:hover,
body.theme-dark .wods-page-button.active {
	background: #ffffff;
	border-color: #ffffff;
	color: #111111;
}

body.theme-dark .wods-filter-label {
	color: rgba(255, 255, 255, 0.72);
}

body.theme-dark .wods-filter-select {
	background-color: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.08);
	color: #f9fafb;
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23cbd5e1' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}

body.theme-dark .wods-filter-clear {
	color: #cbd5e1;
}

body.theme-dark .wods-filter-clear:hover {
	color: #ffffff;
}

body.theme-dark .wod-section-general_warmup .wod-section-heading-wrap,
body.theme-dark .wod-section-general_warm_up .wod-section-heading-wrap,
body.theme-dark .wod-section-specific_warmup .wod-section-heading-wrap,
body.theme-dark .wod-section-specific_warm_up .wod-section-heading-wrap,
body.theme-dark .wod-section-neural_warmup .wod-section-heading-wrap,
body.theme-dark .wod-section-neural_warm_up .wod-section-heading-wrap,
body.theme-dark .wod-section-warmup .wod-section-heading-wrap,
body.theme-dark .wod-section-warm_up .wod-section-heading-wrap {
	background: rgba(244, 180, 0, 0.16);
	border-bottom-color: rgba(244, 180, 0, 0.22);
}

body.theme-dark .wod-section-general_warmup .wod-section-heading,
body.theme-dark .wod-section-general_warm_up .wod-section-heading,
body.theme-dark .wod-section-specific_warmup .wod-section-heading,
body.theme-dark .wod-section-specific_warm_up .wod-section-heading,
body.theme-dark .wod-section-neural_warmup .wod-section-heading,
body.theme-dark .wod-section-neural_warm_up .wod-section-heading,
body.theme-dark .wod-section-warmup .wod-section-heading,
body.theme-dark .wod-section-warm_up .wod-section-heading {
	color: #fff3cd;
}

body.theme-dark .wod-section-strength .wod-section-heading-wrap,
body.theme-dark .wod-section-skill .wod-section-heading-wrap,
body.theme-dark .wod-section-skills .wod-section-heading-wrap {
	background: rgba(255, 122, 89, 0.16);
	border-bottom-color: rgba(255, 122, 89, 0.22);
}

body.theme-dark .wod-section-strength .wod-section-heading,
body.theme-dark .wod-section-skill .wod-section-heading,
body.theme-dark .wod-section-skills .wod-section-heading {
	color: #ffe0d6;
}

body.theme-dark .wod-section-wod .wod-section-heading-wrap {
	background: rgba(214, 31, 38, 0.16);
	border-bottom-color: rgba(214, 31, 38, 0.24);
}

body.theme-dark .wod-section-wod .wod-section-heading {
	color: #ffd9dc;
}

body.theme-dark .wod-section-accessory .wod-section-heading-wrap {
	background: rgba(0, 184, 148, 0.15);
	border-bottom-color: rgba(0, 184, 148, 0.22);
}

body.theme-dark .wod-section-accessory .wod-section-heading {
	color: #d8fff5;
}

body.theme-dark .wod-section-cooldown .wod-section-heading-wrap,
body.theme-dark .wod-section-cool_down .wod-section-heading-wrap,
body.theme-dark .wod-section-optional_cooldown .wod-section-heading-wrap,
body.theme-dark .wod-section-dismissal .wod-section-heading-wrap {
	background: rgba(45, 156, 219, 0.16);
	border-bottom-color: rgba(45, 156, 219, 0.24);
}

body.theme-dark .wod-section-cooldown .wod-section-heading,
body.theme-dark .wod-section-cool_down .wod-section-heading,
body.theme-dark .wod-section-optional_cooldown .wod-section-heading,
body.theme-dark .wod-section-dismissal .wod-section-heading {
	color: #dff1ff;
}

body.theme-dark .wod-variant-elite {
	border-color: rgba(93, 107, 255, 0.28);
}

body.theme-dark .wod-variant-elite .wod-variant-heading-wrap {
	background: rgba(93, 107, 255, 0.14);
	border-bottom-color: rgba(93, 107, 255, 0.22);
}

body.theme-dark .wod-variant-competitive {
	border-color: rgba(93, 107, 255, 0.2);
}

body.theme-dark .wod-variant-competitive .wod-variant-heading-wrap {
	background: rgba(93, 107, 255, 0.09);
	border-bottom-color: rgba(93, 107, 255, 0.16);
}

body.theme-dark .wod-variant-performance {
	border-color: rgba(93, 107, 255, 0.14);
}

body.theme-dark .wod-variant-performance .wod-variant-heading-wrap {
	background: rgba(93, 107, 255, 0.05);
	border-bottom-color: rgba(93, 107, 255, 0.1);
}

body.theme-dark .wods-filter-bar {
	background: rgba(17, 24, 39, 0.88);
	border: 1px solid rgba(255, 255, 255, 0.08);
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.32);
}

body.theme-dark .wods-filter-select:focus {
	background-color: rgba(255, 255, 255, 0.06);
	border-color: var(--rtb-red);
	box-shadow: 0 0 0 0.2rem rgba(214, 31, 38, 0.18);
	color: #ffffff;
}

body.theme-dark .wods-filter-select option {
	background: #111827;
	color: #f9fafb;
}

body.theme-dark .wods-filter-button {
	background: var(--rtb-red);
	border-color: var(--rtb-red);
	color: #ffffff;
	box-shadow: 0 10px 24px rgba(214, 31, 38, 0.25);
}

body.theme-dark .wods-filter-button:hover {
	background: #bb171e;
	border-color: #bb171e;
}

.admin-stats-page .card {
	border: 1px solid #d7dce3;
	border-radius: 16px;
	box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
	overflow: hidden;
}

.admin-stats-page .card-header {
	align-items: center;
	background: #f8fafc;
	border-bottom: 1px solid #e2e8f0;
	display: flex;
	font-size: 1.1rem;
	font-weight: 700;
	padding: 18px 22px;
}

.admin-stats-page .card-body {
	padding: 20px 22px 22px;
}

.admin-stats-page .dataTables_wrapper .dt-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 16px;
}

.admin-stats-page .dataTables_wrapper .dt-button {
	background: #ffffff !important;
	border: 1px solid #d0d7e2 !important;
	border-radius: 999px !important;
	box-shadow: none !important;
	color: #334155 !important;
	font-size: 0.95rem !important;
	font-weight: 600 !important;
	margin: 0 !important;
	padding: 10px 16px !important;
	transition: all 0.2s ease;
}

.admin-stats-page .dataTables_wrapper .dt-button:hover,
.admin-stats-page .dataTables_wrapper .dt-button:focus {
	background: #eff6ff !important;
	border-color: #93c5fd !important;
	color: #0f172a !important;
	outline: none !important;
}

.admin-stats-page .dataTables_wrapper .dataTables_filter {
	margin-bottom: 16px;
	text-align: right;
}

.admin-stats-page .dataTables_wrapper .dataTables_filter label {
	align-items: center;
	color: #475569;
	display: inline-flex;
	font-size: 0.95rem;
	font-weight: 600;
	gap: 10px;
	margin: 0;
}

.admin-stats-page .dataTables_wrapper .dataTables_filter input {
	background: #ffffff;
	border: 1px solid #cbd5e1;
	border-radius: 12px;
	box-shadow: none;
	color: #0f172a;
	margin-left: 0 !important;
	min-height: 42px;
	padding: 0 14px;
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease;
	width: 220px;
}

.admin-stats-page .dataTables_wrapper .dataTables_filter input:focus {
	border-color: #3b82f6;
	box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.12);
	outline: none;
}

.admin-stats-page .dataTables_wrapper .dataTables_length {
	margin-bottom: 16px;
}

.admin-stats-page .dataTables_wrapper .dataTables_length label {
	align-items: center;
	color: #475569;
	display: inline-flex;
	font-size: 0.95rem;
	font-weight: 600;
	gap: 10px;
	margin: 0;
}

.admin-stats-page .dataTables_wrapper .dataTables_length select {
	background: #ffffff;
	border: 1px solid #cbd5e1;
	border-radius: 12px;
	box-shadow: none;
	color: #0f172a;
	min-height: 42px;
	padding: 0 36px 0 12px;
}

.admin-stats-page .table-responsive {
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	overflow: hidden;
}

.admin-stats-page table.dataTable {
	border-collapse: separate !important;
	border-spacing: 0;
	margin-top: 0 !important;
	width: 100% !important;
}

.admin-stats-page table.dataTable thead th {
	background: #f8fafc;
	border-bottom: 1px solid #dbe2ea !important;
	border-top: none !important;
	color: #0f172a;
	font-size: 0.95rem;
	font-weight: 700;
	padding: 14px 14px;
	vertical-align: middle;
}

.admin-stats-page table.dataTable tbody td {
	background: #ffffff;
	border-top: 1px solid #eef2f7 !important;
	color: #1e293b;
	padding: 14px 14px;
	vertical-align: middle;
}

.admin-stats-page table.dataTable.stripe tbody tr.odd td,
.admin-stats-page table.dataTable.display tbody tr.odd td {
	background: #fcfdff;
}

.admin-stats-page table.dataTable tbody tr:hover td {
	background: #f8fbff;
}

.admin-stats-page #table-stats-attendance td:nth-child(1) {
	font-weight: 600;
}

.admin-stats-page #table-stats-attendance td:last-child,
.admin-stats-page #table-stats-attendance th:last-child {
	font-weight: 700;
}

.admin-stats-page .dataTables_wrapper .dataTables_info {
	color: #64748b;
	font-size: 0.92rem;
	padding-top: 18px;
}

.admin-stats-page .dataTables_wrapper .dataTables_paginate {
	padding-top: 12px;
}

.admin-stats-page .dataTables_wrapper .paginate_button {
	border: none !important;
	border-radius: 10px !important;
	box-shadow: none !important;
	color: #475569 !important;
	margin-left: 4px !important;
	padding: 8px 12px !important;
	transition: all 0.2s ease;
}

.admin-stats-page .dataTables_wrapper .paginate_button:hover {
	background: #eff6ff !important;
	color: #0f172a !important;
}

.admin-stats-page .dataTables_wrapper .paginate_button.current,
.admin-stats-page .dataTables_wrapper .paginate_button.current:hover {
	background: #2563eb !important;
	color: #ffffff !important;
}

.admin-stats-page .dataTables_wrapper .dataTables_paginate .ellipsis {
	padding: 8px 6px;
}

@media (max-width: 991px) {
	.admin-stats-page .card-header,
	.admin-stats-page .card-body {
		padding-left: 16px;
		padding-right: 16px;
	}

	.admin-stats-page .dataTables_wrapper .dataTables_filter,
	.admin-stats-page .dataTables_wrapper .dataTables_length {
		margin-bottom: 12px;
		text-align: left;
	}

	.admin-stats-page .dataTables_wrapper .dataTables_filter label,
	.admin-stats-page .dataTables_wrapper .dataTables_length label {
		display: flex;
		flex-direction: column;
		gap: 8px;
		width: 100%;
	}

	.admin-stats-page .dataTables_wrapper .dataTables_filter input,
	.admin-stats-page .dataTables_wrapper .dataTables_length select {
		width: 100%;
	}
}

.spinner-border-sm {
	margin-right: 0.5rem;
}

@media (max-width: 767.98px) {
	html,
	body {
		overflow-x: hidden;
	}

	.section-wods-content,
	.section-wods-content .container,
	.wods-list,
	.wod-card,
	.wod-sections-wrap,
	.wod-sections,
	.wod-section,
	.wod-section-content,
	.wod-section-wod-group,
	.wod-variant-grid,
	.wod-variant,
	.wod-variant-content,
	.wod-stimulus,
	.wod-stimulus-content {
		max-width: 100%;
		min-width: 0;
	}

	.wod-card,
	.wod-section,
	.wod-variant,
	.wod-stimulus {
		overflow: hidden;
	}

	.wod-card-title,
	.wod-section-heading,
	.wod-format-text,
	.wod-section-content,
	.wod-variant-content,
	.wod-stimulus-content {
		overflow-wrap: anywhere;
		word-break: break-word;
	}

	.wod-section-content *,
	.wod-variant-content *,
	.wod-stimulus-content * {
		max-width: 100%;
	}

	.wod-section-content a,
	.wod-variant-content a,
	.wod-stimulus-content a {
		overflow-wrap: anywhere;
		word-break: break-word;
	}

	.wod-section-content img,
	.wod-variant-content img,
	.wod-stimulus-content img,
	.wod-section-content iframe,
	.wod-variant-content iframe,
	.wod-stimulus-content iframe,
	.wod-section-content table,
	.wod-variant-content table,
	.wod-stimulus-content table {
		height: auto;
		max-width: 100%;
	}

	.wod-section-content pre,
	.wod-variant-content pre,
	.wod-stimulus-content pre,
	.wod-section-content code,
	.wod-variant-content code,
	.wod-stimulus-content code {
		max-width: 100%;
		white-space: pre-wrap;
		word-break: break-word;
	}
}

@media (max-width: 767.98px) {
	.wod-single-toolbar {
		align-items: stretch !important;
		display: flex;
		flex-direction: column;
		gap: 0.75rem !important;
		margin-bottom: 1rem;
	}

	.wod-nav-left,
	.wod-nav-right {
		width: 100%;
	}

	.wod-back-link {
		align-self: center;
		border-bottom: 1px solid rgba(15, 23, 42, 0.08);
		border-top: 1px solid rgba(15, 23, 42, 0.08);
		color: #64748b;
		display: flex;
		font-size: 0.9rem;
		font-weight: 800;
		justify-content: center;
		order: 2;
		padding: 0.7rem 0;
		text-align: center;
		width: 100%;
	}

	.wod-nav-left {
		order: 1;
	}

	.wod-nav-right {
		order: 3;
	}

	.wod-nav-link {
		align-items: center;
		background: #ffffff;
		border: 1px solid rgba(15, 23, 42, 0.08);
		border-radius: 16px;
		box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04);
		color: #0f172a;
		display: flex;
		font-size: 0.95rem;
		font-weight: 700;
		gap: 0.65rem;
		padding: 0.95rem 1rem;
		text-decoration: none;
		width: 100%;
	}

	.wod-nav-left .wod-nav-link {
		justify-content: flex-start;
	}

	.wod-nav-right .wod-nav-link {
		justify-content: flex-end;
		text-align: right;
	}

	.wod-nav-link span {
		display: block;
		flex: 1 1 auto;
		max-width: none;
		min-width: 0;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.wod-nav-link i {
		flex: 0 0 auto;
		font-size: 1.1rem;
	}

	.wod-back-link:hover,
	.wod-back-link:focus {
		color: #0f172a;
	}
}

@media (min-width: 768px) {
	.wod-single-toolbar {
		align-items: center !important;
		display: flex !important;
		flex-wrap: nowrap !important;
		justify-content: space-between !important;
		position: relative;
	}

	.wod-nav-left,
	.wod-nav-right {
		display: flex;
		flex: 1 1 0;
		min-width: 0;
	}

	.wod-nav-left {
		justify-content: flex-start;
		padding-right: 180px;
	}

	.wod-nav-right {
		justify-content: flex-end;
		padding-left: 180px;
	}

	.wod-back-link {
		left: 50%;
		position: absolute;
		top: 50%;
		transform: translate(-50%, -50%);
		white-space: nowrap;
		z-index: 2;
	}

	.wod-nav-link {
		align-items: center;
		display: inline-flex;
		gap: 0.5rem;
		max-width: 100%;
		min-width: 0;
	}

	.wod-nav-link span {
		display: block;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.wod-nav-link i {
		flex: 0 0 auto;
	}
}

.space-thumb-more {
	position: relative;
}

.space-thumb-more::before {
	background: rgba(17, 17, 17, 0.42);
	content: "";
	inset: 0;
	position: absolute;
	z-index: 1;
}

.space-thumb-more-overlay {
	align-items: center;
	color: #ffffff;
	display: flex;
	font-size: 1.55rem;
	font-weight: 800;
	inset: 0;
	justify-content: center;
	position: absolute;
	z-index: 2;
}

.space-gallery-modal .modal-content {
	background: #0b0b0b;
	border: 0;
	border-radius: 28px;
	overflow: hidden;
	padding: 1rem 1rem 1.25rem;
	position: relative;
}

.space-gallery-close {
	align-items: center;
	background: rgba(255, 255, 255, 0.1);
	border: 0;
	border-radius: 50%;
	color: #ffffff;
	display: flex;
	height: 42px;
	justify-content: center;
	position: absolute;
	right: 16px;
	top: 16px;
	width: 42px;
	z-index: 5;
}

.space-gallery-close:hover {
	background: rgba(255, 255, 255, 0.18);
}

.space-gallery-stage {
	align-items: center;
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr) 56px;
	gap: 1rem;
	min-height: 520px;
}

.space-gallery-image-wrap {
	align-items: center;
	display: flex;
	justify-content: center;
	min-height: 520px;
}

.space-gallery-image {
	border-radius: 22px;
	display: block;
	max-height: 520px;
	max-width: 100%;
	object-fit: contain;
	width: auto;
}

.space-gallery-nav {
	align-items: center;
	background: rgba(255, 255, 255, 0.1);
	border: 0;
	border-radius: 50%;
	color: #ffffff;
	display: flex;
	height: 48px;
	justify-content: center;
	width: 48px;
}

.space-gallery-nav:hover {
	background: rgba(255, 255, 255, 0.18);
}

.space-gallery-footer {
	margin-top: 1rem;
}

.space-gallery-counter {
	color: rgba(255, 255, 255, 0.78);
	font-size: 0.9rem;
	font-weight: 700;
	margin-bottom: 0.85rem;
	text-align: center;
}

.space-gallery-thumbs {
	display: grid;
	gap: 0.75rem;
	grid-template-columns: repeat(6, minmax(0, 1fr));
}

.space-gallery-thumb {
	background: transparent;
	border: 0;
	border-radius: 14px;
	opacity: 0.65;
	overflow: hidden;
	padding: 0;
	position: relative;
	transition:
		opacity 0.2s ease,
		transform 0.2s ease;
	width: 100%;
}

.space-gallery-thumb:hover,
.space-gallery-thumb.is-active {
	opacity: 1;
	transform: translateY(-1px);
}

.space-gallery-thumb::after {
	border: 2px solid transparent;
	border-radius: 14px;
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
	transition: border-color 0.2s ease;
}

.space-gallery-thumb.is-active::after {
	border-color: var(--rtb-red);
}

.space-gallery-thumb-image {
	display: block;
	height: 72px;
	object-fit: cover;
	width: 100%;
}

@media (max-width: 767.98px) {
	.space-showcase-thumbs {
		display: flex;
		gap: 0.75rem;
		margin-right: -0.25rem;
		overflow-x: auto;
		padding-bottom: 0.25rem;
		scrollbar-width: thin;
	}

	.space-thumb {
		flex: 0 0 92px;
	}

	.space-thumb-image {
		height: 72px;
	}

	.space-gallery-modal .modal-content {
		border-radius: 18px;
		padding: 0.5rem;
	}

	.space-gallery-stage {
		display: block;
		min-height: auto;
		position: relative;
	}

	.space-gallery-image-wrap {
		min-height: auto;
	}

	.space-gallery-image {
		border-radius: 18px;
		max-height: 70vh;
		width: 100%;
		object-fit: contain;
	}

	.space-gallery-nav {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		height: 40px;
		width: 40px;
		z-index: 5;
	}

	.space-gallery-nav-prev {
		left: 6px;
	}

	.space-gallery-nav-next {
		right: 6px;
	}

	.space-gallery-footer {
		margin-top: 0.75rem;
	}

	.space-gallery-thumb-image {
		height: 64px;
	}
}

body.space-gallery-open {
	height: 100vh;
	overflow: hidden;
	touch-action: none;
}

body.space-gallery-open .site-header,
body.space-gallery-open main,
body.space-gallery-open footer {
	touch-action: none;
}

.section-wod-preview .wod-card-preview {
	display: grid;
	gap: 1rem;
	padding: 0 1.5rem 1.25rem;
	max-height: 140px;
	overflow: hidden;
	position: relative;
}

.section-wod-preview .wod-preview-block {
	background: #fafafa;
	border: 1px solid rgba(15, 23, 42, 0.08);
	border-radius: 18px;
	padding: 1rem 1.15rem;
}

body.theme-dark .section-wod-preview .wod-preview-block {
	background: #111111;
	border: 1px solid rgba(255, 255, 255, 0.06);
}

.section-wod-preview .wod-preview-label {
	color: #64748b;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	margin-bottom: 0.4rem;
	text-transform: uppercase;
}

.section-wod-preview .wod-preview-content {
	color: #0f172a;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.55;
}

.section-wod-preview .wod-card-full {
	display: none;
	padding-bottom: 0.25rem;
}

.section-wod-preview .wod-card-actions {
	padding: 0 1.5rem 1.5rem;
	text-align: center;
}

.section-wod-preview .wod-expand-toggle {
	background: transparent;
	border: 0;
	color: var(--rtb-red);
	font-size: 0.95rem;
	font-weight: 800;
	padding: 0;
	text-decoration: underline;
	text-underline-offset: 3px;
	transition: color 0.2s ease;
}

.section-wod-preview .wod-expand-toggle:hover {
	color: #bb171e;
}

.section-wod-preview .wod-expand-toggle-text-less {
	display: none;
}

.section-wod-preview .wod-card.is-expanded .wod-expand-toggle-text-more {
	display: none;
}

.section-wod-preview .wod-card.is-expanded .wod-expand-toggle-text-less {
	display: inline;
}

@media (max-width: 767.98px) {
	.section-wod-preview .wod-card-preview {
		padding: 0 1rem 1rem;
	}

	.section-wod-preview .wod-preview-block {
		padding: 0.95rem 1rem;
	}

	.section-wod-preview .wod-card-actions {
		padding: 0 1rem 1rem;
	}
}

.section-wod-preview .wod-card-collapsible {
	position: relative;
}

.section-wod-preview .wod-expand-toggle-icon {
	align-items: center;
	background: #ccc;
	border: 0;
	border-radius: 50%;
	bottom: 12px;
	color: #666666;
	cursor: pointer;
	display: flex;
	height: 32px;
	justify-content: center;
	padding: 0;
	position: absolute;
	right: 12px;
	transition: all 0.2s ease;
	width: 32px;
	z-index: 3;
}

.section-wod-preview .wod-expand-toggle-icon:hover {
	background: #000000;
	color: #ffffff;
	transform: translateY(-1px);
}

.section-wod-preview .wod-expand-toggle-icon i {
	font-size: 0.75rem;
	position: absolute;
	transition: all 0.18s ease;
}

.section-wod-preview .wod-expand-icon-less {
	opacity: 0;
	transform: scale(0.7);
}

.section-wod-preview .wod-card.is-expanded .wod-expand-icon-more {
	opacity: 0;
	transform: scale(0.7);
}

.section-wod-preview .wod-card.is-expanded .wod-expand-icon-less {
	opacity: 1;
	transform: scale(1);
}

.section-wod-preview .wod-card-preview::after {
	background: linear-gradient(
		to bottom,
		rgba(255, 255, 255, 0),
		rgba(255, 255, 255, 0.95)
	);
	bottom: 0;
	content: "";
	height: 48px;
	left: 0;
	position: absolute;
	right: 0;
	pointer-events: none;
}

body.theme-dark .section-wod-preview .wod-card-preview::after {
	background: linear-gradient(
		to bottom,
		rgba(15, 23, 42, 0),
		rgba(15, 23, 42, 0.95)
	);
}

.section-wod-preview .wod-card.is-expanded .wod-card-preview {
	max-height: none;
}

.section-wod-preview .wod-card.is-expanded .wod-card-preview::after {
	display: none;
}
