/* =====================================================================
   Twin Cities Rec brand styles (added Sept 2026)
   Colors and logos come from the official TCR logo set
   (resources/images/brand). Loaded on every page from header.php.
   ===================================================================== */

:root {
	--tcr-dp: #33334c;   /* dark purple */
	--tcr-lp: #66679b;   /* light purple */
	--tcr-dt: #2b6e6d;   /* dark teal */
	--tcr-lt: #41a3a3;   /* light teal */
	--tcr-ow: #edf7f8;   /* off white */
}

/* Big condensed headings that match the logo lettering */
.tcr-display {
	font-family: 'Barlow Condensed', 'Open Sans', 'Helvetica Neue', Arial, sans-serif;
	font-weight: 700;
	font-style: italic;
	text-transform: uppercase;
	letter-spacing: .01em;
	line-height: 1.05;
}

/* The band behind the menu bar is dark purple on every page (was teal) */
section.bg-primary { background-color: var(--tcr-dp) !important; }

/* ---------- Menu bar logo ---------- */
#mainNav .tcr-brand { padding: 0; margin-right: 1rem; line-height: 1; }
#mainNav .tcr-brand img { height: 44px; width: auto; display: block; }
#mainNav .tcr-brand img.tcr-brand-light { display: none; }   /* white logo: only on the purple band at the top of the page */
@media (min-width: 992px) {
	#mainNav .tcr-brand img { height: 50px; transition: height .2s; }
	#mainNav:not(.navbar-shrink) .tcr-brand img.tcr-brand-light { display: block; }
	#mainNav:not(.navbar-shrink) .tcr-brand img.tcr-brand-dark { display: none; }
	#mainNav.navbar-shrink .tcr-brand img { height: 42px; }
}

/* ---------- Buttons ---------- */
.tcr-btn {
	display: inline-block;
	font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif;
	font-weight: 700;
	font-size: .95rem;
	text-transform: uppercase;
	letter-spacing: .04em;
	border-radius: 6px;
	padding: 13px 28px;
	margin: 6px;
	border: 2px solid transparent;
	text-decoration: none !important;
	transition: background-color .15s, border-color .15s, color .15s;
}
.tcr-btn-primary { background: var(--tcr-lt); border-color: var(--tcr-lt); color: #fff !important; }
.tcr-btn-primary:hover, .tcr-btn-primary:focus { background: var(--tcr-dt); border-color: var(--tcr-dt); }
.tcr-btn-outline { border-color: rgba(255, 255, 255, .75); color: #fff !important; }
.tcr-btn-outline:hover, .tcr-btn-outline:focus { background: rgba(255, 255, 255, .12); border-color: #fff; }
.tcr-btn-dark { background: var(--tcr-dp); border-color: var(--tcr-dp); color: #fff !important; }
.tcr-btn-dark:hover, .tcr-btn-dark:focus { background: var(--tcr-lp); border-color: var(--tcr-lp); }

/* Teal-to-light-teal stripe used under the purple bands */
.tcr-hero::after, .tcr-page-hero::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: 0;
	height: 6px;
	background: linear-gradient(90deg, var(--tcr-dt), var(--tcr-lt));
}

/* ---------- Home page banner ---------- */
.tcr-hero {
	position: relative;
	background: radial-gradient(ellipse at 50% 0%, #46466b 0%, var(--tcr-dp) 62%);
	color: var(--tcr-ow);
	text-align: center;
	padding: 140px 0 84px;
}
.tcr-hero-logo { display: block; width: 90%; max-width: 720px; height: auto; margin: 0 auto 30px; }
.tcr-hero-tagline { font-size: 2.2rem; color: #fff; margin-bottom: 10px; }
.tcr-hero-sub { font-size: 1.1rem; color: rgba(237, 247, 248, .82); max-width: 640px; margin: 0 auto 26px; }

/* ---------- Season at a glance ---------- */
.tcr-glance { background: var(--tcr-ow); padding: 30px 0 26px; }
.tcr-stat { text-align: center; padding: 10px 6px; }
.tcr-stat-big { display: block; font-size: 2.4rem; color: var(--tcr-dt); }
.tcr-stat-label { display: block; font-size: .9rem; color: #45455a; font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif; }

/* ---------- Content sections ---------- */
.tcr-section { padding: 64px 0; }
.tcr-soft-bg { background: #f3f7f8; }
.tcr-section-title { font-size: 2.5rem; color: var(--tcr-dp); margin-bottom: 18px; }
.tcr-section-title::after {
	content: "";
	display: block;
	width: 64px; height: 5px;
	margin: 12px auto 0;
	background: var(--tcr-lt);
	transform: skewX(-20deg);
}
.tcr-lead { font-size: 1.1rem; line-height: 1.8; color: #3d3d4f; }

/* Value cards (Sportsmanship / Community / Safety) */
.tcr-value {
	height: 100%;
	background: #fff;
	border-radius: 12px;
	border-top: 6px solid var(--tcr-lt);
	box-shadow: 0 6px 24px rgba(51, 51, 76, .10);
	padding: 32px 26px;
	text-align: center;
}
.tcr-value-icon {
	display: inline-flex; align-items: center; justify-content: center;
	width: 76px; height: 76px;
	border-radius: 50%;
	background: var(--tcr-dp);
	color: var(--tcr-lt);
	font-size: 34px;
	margin-bottom: 16px;
}
.tcr-value h3 { font-size: 2rem; color: var(--tcr-dp); margin-bottom: 12px; }
.tcr-value p { color: #555; line-height: 1.7; margin: 0; }

/* Call-to-action band */
.tcr-cta { background: linear-gradient(120deg, var(--tcr-dt), var(--tcr-lt)); color: #fff; text-align: center; padding: 50px 0; }
.tcr-cta h2 { font-size: 2.4rem; color: #fff; margin-bottom: 8px; }
.tcr-cta p { color: rgba(255, 255, 255, .9); margin-bottom: 16px; }

/* ---------- Page title band (How It Works, Teams, Log In, Create Account) ---------- */
.tcr-page-hero { position: relative; background: var(--tcr-dp); color: #fff; padding: 124px 0 46px; }
.tcr-page-hero h1 { font-size: 3.2rem; color: #fff; margin: 0; }
.tcr-page-hero p { font-size: 1.05rem; color: rgba(237, 247, 248, .82); margin: 8px 0 0; }

/* How It Works cards */
.tcr-info-card {
	height: 100%;
	background: #fff;
	border-radius: 12px;
	border-left: 6px solid var(--tcr-lt);
	box-shadow: 0 4px 18px rgba(51, 51, 76, .08);
	padding: 26px 26px 18px;
}
.tcr-info-card h3 { display: flex; align-items: center; font-size: 1.8rem; color: var(--tcr-dp); margin-bottom: 12px; }
.tcr-info-card h3 .bi { font-size: 1.45rem; font-style: normal; color: var(--tcr-dt); margin-right: 12px; }
.tcr-info-card p { color: #444; line-height: 1.7; margin-bottom: .7rem; }

/* Teams page */
.tcr-teams { padding-top: 40px; padding-bottom: 20px; }
.tcr-teams .card { border: 0; border-radius: 12px; overflow: hidden; box-shadow: 0 4px 18px rgba(51, 51, 76, .08); }
.tcr-teams .card-header { background: var(--tcr-dp); border: 0; padding: 6px 14px; }
.tcr-teams .card-header .btn-link {
	color: #fff !important;
	font-family: 'Barlow Condensed', 'Open Sans', sans-serif;
	font-style: italic; font-weight: 700; text-transform: uppercase;
	font-size: 30px !important;
	text-decoration: none !important;
}

/* Log In / Create Account panels */
.tcr-auth { padding: 40px 0 60px; }
.tcr-panel { background: #fff; border-radius: 12px; box-shadow: 0 6px 24px rgba(51, 51, 76, .10); padding: 30px 26px; }
.tcr-panel-mark { height: 64px; width: auto; margin-bottom: 10px; }
.tcr-photo { border-radius: 12px; box-shadow: 0 6px 24px rgba(51, 51, 76, .15); }
.tcr-panel input[type="text"], .tcr-panel input[type="password"] { border: 1px solid #cfd6dc; border-radius: 6px; }

/* ---------- Footer ---------- */
.tcr-footer {
	background: var(--tcr-dp);
	color: rgba(237, 247, 248, .85);
	border-top: 6px solid var(--tcr-lt);
	padding: 48px 0 0 !important;
	font-size: .95rem;
}
.tcr-footer-logo { height: 64px; width: auto; margin-bottom: 14px; }
.tcr-footer h4 { font-size: 1.4rem; color: var(--tcr-lt); margin-bottom: 12px; }
.tcr-footer ul { list-style: none; padding: 0; margin: 0; }
.tcr-footer li { margin-bottom: 7px; }
.tcr-footer a { color: #fff; }
.tcr-footer a:hover, .tcr-footer a:focus { color: var(--tcr-lt); text-decoration: none; }
.tcr-footer-bottom { border-top: 1px solid rgba(255, 255, 255, .12); margin-top: 30px; padding: 16px 0; font-size: .85rem; color: rgba(237, 247, 248, .6); }

/* ---------- Phones and tablets ---------- */
@media (max-width: 991.98px) {
	.tcr-page-hero { padding: 88px 0 32px; }
	.tcr-page-hero h1 { font-size: 2.5rem; }
}
@media (max-width: 767.98px) {
	.tcr-hero { padding: 96px 0 56px; }
	.tcr-hero-tagline { font-size: 1.75rem; }
	.tcr-hero .tcr-btn, .tcr-cta .tcr-btn { display: block; max-width: 320px; margin: 10px auto; }
	.tcr-stat-big { font-size: 2rem; }
	.tcr-section { padding: 44px 0; }
	.tcr-section-title { font-size: 2.1rem; }
	.tcr-cta h2 { font-size: 2rem; }
	.tcr-footer { text-align: center; }
}
@media (max-width: 399.98px) {
	.tcr-footer .col-6 { flex: 0 0 100%; max-width: 100%; }
}

/* ---------- Schedule page (schedule.php) ---------- */
.tcr-schedule [hidden] { display: none !important; }
.tcr-filters {
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 4px 18px rgba(51, 51, 76, .08);
	padding: 18px 20px 4px;
	margin-bottom: 28px;
}
.tcr-filters label { font-weight: 700; color: var(--tcr-dp); margin-bottom: 4px; }
.tcr-past-toggle { padding-top: 6px; }
.tcr-past-toggle label { font-weight: 400; color: #333; }
.tcr-filter-count { font-size: .9rem; color: #5a5a6e; margin-top: 6px; }

.tcr-gameday { margin-bottom: 30px; }
.tcr-gameday-title {
	display: flex; align-items: baseline; justify-content: space-between;
	border-bottom: 3px solid var(--tcr-lt);
	padding-bottom: 6px; margin-bottom: 12px;
}
.tcr-gameday-title .tcr-display { font-size: 1.9rem; color: var(--tcr-dp); }
.tcr-week { white-space: nowrap; margin-left: 12px; font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif; font-size: .85rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--tcr-dt); }

.tcr-game {
	display: grid;
	grid-template-columns: 130px 1fr 210px;
	align-items: center;
	gap: 16px;
	background: #fff;
	border-radius: 10px;
	border-left: 5px solid var(--tcr-lt);
	box-shadow: 0 2px 10px rgba(51, 51, 76, .07);
	padding: 14px 18px;
	margin-bottom: 10px;
}
.tcr-game-time .tcr-display { display: block; font-size: 1.7rem; color: var(--tcr-dp); }
.tcr-game[data-past="1"] { opacity: .65; border-left-color: #b9bcc6; }   /* games already played */
.tcr-game-div {
	display: inline-block; margin-top: 4px;
	font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em;
	color: #fff; background: var(--tcr-lp); border-radius: 4px; padding: 2px 7px;
}
.tcr-game-teams { display: flex; align-items: center; gap: 14px; min-width: 0; }
.tcr-game-team { display: flex; align-items: center; gap: 10px; flex: 1 1 0; min-width: 0; color: var(--tcr-dp) !important; font-weight: 700; text-decoration: none !important; }
.tcr-game-team:hover span { color: var(--tcr-dt); }
.tcr-game-team img { width: 44px; height: 44px; object-fit: contain; flex: none; }
.tcr-game-team span { min-width: 0; overflow-wrap: anywhere; line-height: 1.2; }
.tcr-game-team small, .tcr-game-rink small { display: block; font-weight: 400; font-size: .78rem; color: #6b6b7d; }
.tcr-vs { font-family: 'Barlow Condensed', 'Open Sans', sans-serif; font-style: italic; font-weight: 700; text-transform: uppercase; color: var(--tcr-lt); flex: none; }
.tcr-game-rink { display: flex; align-items: flex-start; gap: 8px; color: #333; font-size: .95rem; }
.tcr-game-rink .bi { color: var(--tcr-dt); margin-top: 2px; }
.tcr-game-rink .tcr-game-more { display: inline-block; margin-top: 4px; font-size: .82rem; font-weight: 700; color: var(--tcr-dt) !important; text-decoration: underline; } /* game page link (Oct 2026) */

@media (max-width: 767.98px) {
	.tcr-game { grid-template-columns: 1fr; gap: 10px; padding: 12px 14px; }
	.tcr-game-time { display: flex; align-items: center; justify-content: space-between; }
	.tcr-game-time .tcr-game-div { margin-top: 0; }
	.tcr-game-teams { flex-direction: column; align-items: stretch; gap: 6px; }
	.tcr-vs { align-self: flex-start; padding-left: 54px; font-size: .9rem; }
	.tcr-gameday-title .tcr-display { font-size: 1.55rem; }
}

/* ---------- Logged-in pages (brand pass, Sept 2026) ---------- */
/* Sidebars on Account, Captain and Admin Settings: brand purple instead of near-black */
.tcr-sidebar.bg-dark { background-color: var(--tcr-dp) !important; }
.tcr-sidebar .nav-link { color: #fff !important; }
.tcr-sidebar .nav-link:hover, .tcr-sidebar .nav-link:focus { color: var(--tcr-lt) !important; }

/* Section headings next to the sidebar (Profile, Bank, Settings, Seasons, Teams...) */
.tcr-sidebar-main h2 .nav-link {
	font-family: 'Barlow Condensed', 'Open Sans', 'Helvetica Neue', Arial, sans-serif;
	font-weight: 700; font-style: italic; text-transform: uppercase;
	font-size: 2.4rem; color: var(--tcr-dp); padding-left: 0;
}
.tcr-sidebar-main h2 .nav-link .btn { font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif; font-style: normal; }

/* Dashboard and registration card titles */
.tcr-card h3, .tcr-reg-card h2 {
	font-family: 'Barlow Condensed', 'Open Sans', 'Helvetica Neue', Arial, sans-serif;
	font-weight: 700; font-style: italic; text-transform: uppercase; line-height: 1.05;
}
.tcr-card h3 { font-size: 1.9rem; }

/* Fold-out sections (Team page, Waiver, Team Selection): purple header bars like the Teams page */
#accordion > .card, .accordion > .card { border: 0; border-radius: 12px; overflow: hidden; box-shadow: 0 4px 18px rgba(51, 51, 76, .08); margin-bottom: 14px; }
#accordion > .card > .card-header, .accordion > .card > .card-header { background: var(--tcr-dp); border: 0; padding: 6px 14px; }
#accordion .card-header .btn-link, .accordion .card-header .btn-link {
	color: #fff !important;
	font-family: 'Barlow Condensed', 'Open Sans', 'Helvetica Neue', Arial, sans-serif;
	font-weight: 700; font-style: italic; text-transform: uppercase;
	font-size: 1.6rem;
	text-decoration: none !important;
	white-space: normal;     /* long headers wrap on phones */
	text-align: left;
}
#accordion .card-header .btn-link .bi, .accordion .card-header .btn-link .bi { color: var(--tcr-lt); font-style: normal; font-size: 1.2rem !important; }

@media (max-width: 767.98px) {
	.tcr-sidebar-main h2 .nav-link { font-size: 2rem; }
	.tcr-card h3 { font-size: 1.7rem; }
}

/* =====================================================================
   Fixes approved Sept 29, 2026
   ===================================================================== */

/* Current page in the menu */
#mainNav .navbar-nav > li.nav-item > a.nav-link.tcr-current { color: var(--tcr-dt) !important; }
@media (min-width: 992px) {
	#mainNav .navbar-nav { align-items: center; }   /* links, name and photo on one line */
	#mainNav .navbar-nav > li.nav-item > a.nav-link.tcr-current { color: #fff !important; box-shadow: inset 0 -3px 0 var(--tcr-lt); }
	#mainNav.navbar-shrink .navbar-nav > li.nav-item > a.nav-link.tcr-current { color: var(--tcr-dt) !important; }
}

/* User menu: My teams, Captain tools, then account links */
#mainNav .tcr-user-toggle { display: inline-flex; align-items: center; gap: 6px; }
#mainNav .tcr-user-toggle img { width: 28px; height: 28px; object-fit: cover; border-radius: 50%; }
#mainNav .tcr-user-menu { min-width: 240px; padding: 6px 0; border-radius: 8px; background: #fff; }
#mainNav .tcr-user-menu .list-group-item.tcr-menu-item {
	display: flex; align-items: center; gap: 10px; border: 0; border-radius: 0; padding: .5rem 1rem;
	background: transparent; color: var(--tcr-dp) !important; font-size: .95rem; text-transform: none; text-decoration: none;
}
#mainNav .tcr-user-menu .list-group-item.tcr-menu-item:hover,
#mainNav .tcr-user-menu .list-group-item.tcr-menu-item:focus { background: var(--tcr-ow); }
#mainNav .tcr-user-menu .tcr-menu-item .bi { color: var(--tcr-dt); width: 22px; text-align: center; font-size: 1.05rem; }
.tcr-menu-logo { width: 22px; height: 22px; object-fit: contain; flex: none; }
.tcr-menu-heading { list-style: none; padding: .6rem 1rem .2rem; font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #6b6b80; }
.tcr-menu-divider { list-style: none; border-top: 1px solid #e3e7ea; margin: .35rem 0; }

/* Team logos: every logo fits the same square, whatever its shape */
.tcr-team-logo { object-fit: contain; }
.tcr-team-logo-lg { width: 140px; height: 140px; }
.tcr-team-logo-md { width: 80px; height: 80px; }
.tcr-team-logo-sm { width: 50px; height: 50px; }

/* Rink names open Google Maps */
a.tcr-rink-link { color: inherit !important; text-decoration: underline; text-decoration-style: dotted; text-underline-offset: 3px; }
a.tcr-rink-link:hover, a.tcr-rink-link:focus { color: var(--tcr-dt) !important; text-decoration-style: solid; }

/* "Sync to my calendar" menu */
.tcr-btn-sm { padding: 8px 16px; font-size: .8rem; margin: 0; }
.tcr-cal .dropdown-menu { min-width: 280px; padding: 6px 0; }
.tcr-cal .dropdown-item { padding: .5rem 1rem; color: var(--tcr-dp); }
.tcr-cal .dropdown-item .bi { color: var(--tcr-dt); width: 20px; display: inline-block; }
.tcr-cal-note { display: block; font-size: .78rem; line-height: 1.35; color: #6b6b80; white-space: normal; max-width: 300px; padding: .25rem 1rem .5rem; }
.tcr-cal-row { margin-top: 4px; }
.tcr-team-sched-links { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 12px; }

/* Footer contact icons */
.tcr-footer li .bi { color: var(--tcr-lt); margin-right: 6px; }

/* Account, Captain and Admin Settings: same body font as the rest of the site's forms and buttons */
.tcr-sidebar-main { font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif; }

/* Profile form: help text, labeled ratings, lined-up Settings buttons */
.tcr-help { display: block; font-size: .78rem; line-height: 1.35; color: #6b6b80; padding: 4px 10px 0; }
.tcr-ratings { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 1rem; }
.tcr-rating { display: flex; flex-direction: column; }
.tcr-rating-label { font-size: .72rem; font-weight: 600; color: #6b6b80; margin: 0 0 2px 2px; }
.tcr-rating-league { display: inline-flex; align-items: center; gap: 6px; height: 38px; padding: 0 12px; border: 1px solid #ced4da; border-radius: .25rem; background: #e9ecef; }
.tcr-settings-btn { font-size: .85rem; padding: 7px 14px; margin-top: 8px; }
@media (min-width: 768px) { .tcr-settings-btn { margin-top: 0; } }
/* Profile form: boxes stay inside their column, so neighbors never touch on laptop-size screens */
#profileBody .form-control, #profileBody .custom-select { min-width: 0 !important; max-width: 100%; }
/* Links inside the How It Works cards (the site's default link color is near-white) */
.tcr-info-card a { color: var(--tcr-dt) !important; font-weight: 600; text-decoration: underline; }
.tcr-info-card a:hover, .tcr-info-card a:focus { color: var(--tcr-dp) !important; }

/* ---------- League events that aren't games (tcr_events.php) ---------- */
.tcr-event {
	display: grid; grid-template-columns: 130px 1fr 210px; align-items: center; gap: 16px;
	background: #fff; border-radius: 10px; border-left: 5px solid #ccbc8b;
	box-shadow: 0 2px 10px rgba(51, 51, 76, .07); padding: 14px 18px; margin-bottom: 10px;
}
.tcr-event[data-past="1"] { opacity: .65; }
.tcr-event-tag {
	display: inline-block; margin-top: 4px; font-size: .72rem; font-weight: 700; text-transform: uppercase;
	letter-spacing: .05em; color: var(--tcr-dp); background: #ccbc8b; border-radius: 4px; padding: 2px 7px;
}
.tcr-event-body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.tcr-event-title { font-weight: 700; font-size: 1.05rem; color: var(--tcr-dp); }
.tcr-event-text { font-size: .9rem; line-height: 1.45; color: #444; }
.tcr-event-parking .bi { color: var(--tcr-dt); }
a.tcr-event-flyer-link { font-size: .88rem; font-weight: 600; color: var(--tcr-dt) !important; }
@media (max-width: 767.98px) {
	.tcr-event { grid-template-columns: 1fr; gap: 10px; padding: 12px 14px; }
}

/* Home page banner for the next event */
.tcr-event-banner { background: var(--tcr-ow); padding: 40px 0; }
.tcr-event-feature {
	display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 32px; align-items: center;
	background: #fff; border-radius: 14px; box-shadow: 0 6px 24px rgba(51, 51, 76, .10); padding: 22px;
}
.tcr-event-flyer img { display: block; width: 100%; height: auto; border-radius: 10px; }
.tcr-event-kicker {
	display: inline-block; margin-bottom: 8px; font-size: .75rem; font-weight: 700; letter-spacing: .08em;
	text-transform: uppercase; color: #fff; background: var(--tcr-dt); border-radius: 4px; padding: 3px 8px;
}
.tcr-event-feature h2 { font-size: 2.3rem; color: var(--tcr-dp); margin-bottom: 12px; }
.tcr-event-meta { margin-bottom: 6px; font-weight: 600; color: #333; }
.tcr-event-meta .bi { color: var(--tcr-dt); margin-right: 6px; }
.tcr-event-meta a { color: var(--tcr-dt) !important; text-decoration: underline; }
.tcr-event-summary { margin: 10px 0 16px; line-height: 1.6; color: #444; }
.tcr-event-feature .tcr-btn { margin: 6px 10px 0 0; }
.tcr-btn-ghost { border-color: var(--tcr-dp); color: var(--tcr-dp) !important; }
.tcr-btn-ghost:hover, .tcr-btn-ghost:focus { background: var(--tcr-dp); color: #fff !important; }
@media (max-width: 991.98px) {
	.tcr-event-feature { grid-template-columns: 1fr; gap: 18px; padding: 16px; }
	.tcr-event-feature h2 { font-size: 1.9rem; }
}
@media (max-width: 575.98px) {
	.tcr-event-banner { padding: 24px 0; }
	.tcr-event-feature .tcr-btn { display: block; text-align: center; margin: 10px 0 0; }
}

/* ---- Admin > Players: team counts, search and filters (Sept 2026) ---- */
.tcr-link-btn { background: none; border: 0; padding: 4px 0; font-size: .85rem; font-weight: 600; color: var(--tcr-dt); text-decoration: underline; cursor: pointer; }
.tcr-link-btn:hover, .tcr-link-btn:focus { color: var(--tcr-dp); }
.tcr-pl-counts { background: #fff; border-radius: 12px; padding: 16px 18px 6px; margin: 16px 0 18px; box-shadow: 0 2px 10px rgba(51, 51, 76, .08); }
.tcr-pl-counts h3 { display: flex; align-items: center; gap: 10px; font-size: 1.25rem; font-weight: 700; color: var(--tcr-dp); margin-bottom: 2px; }
.tcr-pl-counts h3 .bi { color: var(--tcr-dt); }
.tcr-pl-counts .tcr-help { padding-left: 0; margin-bottom: 10px; }
.tcr-pl-count-table { font-size: .9rem; margin-bottom: 10px; min-width: 560px; }
.tcr-pl-count-table thead th { background: var(--tcr-dp); color: var(--tcr-ow); border: 0; font-weight: 600; white-space: nowrap; }
.tcr-pl-count-table th[scope=row] { font-weight: 600; }
.tcr-pl-count-table th[scope=row] a { color: var(--tcr-dt) !important; }
.tcr-pl-count-table tfoot th, .tcr-pl-count-table tfoot td { border-top: 2px solid #d9dce6; }
.tcr-pl-count-table tfoot tr + tr th, .tcr-pl-count-table tfoot tr + tr td { border-top: 1px solid #e3e6ee; color: #555; }
.tcr-pl-waiting { color: #a35d00; font-weight: 700; }
.tcr-pl-tools { position: sticky; top: 61px; z-index: 5; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; background: var(--tcr-ow); border: 1px solid #dfe7ea; border-radius: 10px; padding: 10px 12px; margin: 0 0 14px; }
.tcr-pl-tools .custom-select { width: auto; min-width: 0; max-width: 100%; flex: 0 1 auto; font-size: .85rem; padding-left: 10px; }
.tcr-pl-search { position: relative; flex: 1 1 170px; min-width: 0; }
.tcr-pl-search .bi { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: #6b6b80; pointer-events: none; }
.tcr-pl-search .form-control { padding-left: 34px; font-size: .95rem; }
.tcr-pl-showing { display: inline-block; margin-left: 10px; font-size: .85rem; font-weight: 600; color: var(--tcr-dt); }
tr.tcr-pl-none td { text-align: center; color: #6b6b80; font-style: italic; padding: 18px; }
@media (max-width: 767.98px) {
	.tcr-pl-tools { position: static; }
	.tcr-pl-tools .custom-select { flex: 1 1 45%; }
}
.tcr-pl-count-table thead th { padding: 0; }
.tcr-sort { display: inline-flex; align-items: center; gap: 4px; width: 100%; background: none; border: 0; color: inherit; font: inherit; font-weight: 600; padding: 6px 8px; cursor: pointer; white-space: nowrap; }
.text-right > .tcr-sort { justify-content: flex-end; }
.tcr-sort:hover, .tcr-sort:focus { background: rgba(255, 255, 255, .08); outline: none; }
.tcr-sort:focus-visible { box-shadow: inset 0 0 0 2px var(--tcr-lt); }
.tcr-sort-arrow { display: inline-block; width: 0; height: 0; border-left: 4px solid transparent; border-right: 4px solid transparent; opacity: .35; border-top: 5px solid currentColor; }
.tcr-sort.is-desc .tcr-sort-arrow { opacity: 1; border-top: 5px solid currentColor; border-bottom: 0; }
.tcr-sort.is-asc .tcr-sort-arrow { opacity: 1; border-top: 0; border-bottom: 5px solid currentColor; }

/* ---- Player profile photos (Sept 2026) ---- */
.tcr-avatar { object-fit: cover; object-position: 50% 30%; border-radius: 50%; background: #fff; }
.tcr-avatar-xs { width: 28px; height: 28px; }
.tcr-avatar-sm { width: 50px; height: 50px; }
.tcr-avatar-md { width: 110px; height: 110px; }
.tcr-avatar-lg { width: 175px; height: 175px; border-radius: 25px; box-shadow: 0 2px 10px rgba(51, 51, 76, .15); }
.tcr-photo-tools { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 4px 12px; margin-top: 12px; }
@media (min-width: 992px) { .tcr-photo-tools { justify-content: flex-start; } }
.tcr-photo-tools label.tcr-btn { cursor: pointer; }
.tcr-photo-tools label.tcr-btn.is-busy { opacity: .7; pointer-events: none; }
.tcr-photo-help { padding: 6px 0 0; max-width: 220px; margin: 0 auto; text-align: center; }
@media (min-width: 992px) { .tcr-photo-help { margin: 0; text-align: left; } }
.tcr-photo-alert { font-size: .88rem; padding: 8px 12px; margin: 10px 0 0; }
.tcr-photo-admin { scroll-margin-top: 90px; background: #fff; border-radius: 12px; padding: 18px 20px; margin: 16px 0 22px; box-shadow: 0 2px 10px rgba(51, 51, 76, .08); }
.tcr-photo-admin h3 { display: flex; align-items: center; gap: 10px; font-size: 1.25rem; font-weight: 700; color: var(--tcr-dp); margin-bottom: 4px; }
.tcr-photo-admin h3 .bi { color: var(--tcr-dt); }
.tcr-photo-admin .tcr-help { padding-left: 0; }
.tcr-photo-count { font-size: .8rem; font-weight: 700; background: var(--tcr-ow); color: var(--tcr-dt); border-radius: 999px; padding: 2px 10px; }
.tcr-photo-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 14px; margin: 14px 0 6px; }
.tcr-photo-card { text-align: center; border: 1px solid #e3e6ee; border-radius: 10px; padding: 12px 8px; }
.tcr-photo-card img { display: block; margin: 0 auto 8px; }
.tcr-photo-name { font-weight: 700; font-size: .88rem; color: var(--tcr-dp); overflow-wrap: anywhere; }
.tcr-photo-date { font-size: .75rem; color: #6b6b80; margin-bottom: 6px; }
.tcr-photo-card .tcr-btn { padding: 6px 12px; }
.tcr-photo-empty { color: #6b6b80; font-size: .9rem; margin: 10px 0; }
.tcr-photo-upload { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px 14px; border-top: 1px solid #e3e6ee; margin-top: 14px; padding-top: 14px; }
.tcr-photo-upload .form-group { margin: 0; min-width: 0; flex: 1 1 220px; }
.tcr-photo-upload label { font-size: .85rem; font-weight: 600; color: var(--tcr-dp); margin-bottom: 4px; }
.tcr-photo-upload input[type=file] { max-width: 100%; font-size: .85rem; }

/* ---- Team logos (Sept 2026) ---- */
.tcr-logo-cell { text-align: center; }
.tcr-logo-edit { display: block; margin-top: 4px; font-size: .75rem; font-weight: 600; white-space: nowrap; color: var(--tcr-dt) !important; text-decoration: underline; }

/* ---- Scores and standings (Sept 2026) ---- */
.tcr-game .tcr-score-entry { grid-column: 1 / -1; border-top: 1px solid #eceef3; padding-top: 10px; margin-top: 2px; }
.tcr-score-entry summary { cursor: pointer; font-size: .88rem; font-weight: 700; color: var(--tcr-dt); display: inline-block; }
.tcr-score-entry summary .bi { margin-right: 4px; }
.tcr-score-form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px 16px; margin: 10px 0 6px; }
.tcr-score-form label { display: flex; flex-direction: column; font-size: .8rem; font-weight: 700; color: var(--tcr-dp); margin: 0; min-width: 0; }
.tcr-score-form label span { max-width: 160px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tcr-score-form input { width: 84px; font-size: 1.1rem; font-weight: 700; text-align: center; border: 1px solid #c9ccd6; border-radius: 6px; padding: 6px 8px; }
.tcr-score-entry .tcr-help { padding-left: 0; }
.tcr-score { margin-left: auto; padding-left: 10px; font-family: 'Barlow Condensed', 'Open Sans', sans-serif; font-size: 1.7rem; line-height: 1; color: #6b6b7d; }
.tcr-game-team.is-win .tcr-score { color: var(--tcr-dp); }
.tcr-game-team.is-loss .tcr-score { color: #a3a6b1; }
.tcr-game.has-score .tcr-vs { font-size: .8rem; letter-spacing: .05em; color: var(--tcr-dt); }
.tcr-game[data-past="1"].has-score { opacity: .85; }
.tcr-score-alert { margin-bottom: 18px; }
.tcr-score-todo { background: #fff8e8; border: 1px solid #f0d9a5; border-left: 5px solid #d99a00; border-radius: 10px; padding: 14px 18px; margin-bottom: 20px; }
.tcr-score-todo h2 { font-size: 1.05rem; font-weight: 700; color: var(--tcr-dp); margin-bottom: 6px; }
.tcr-score-todo h2 .bi { color: #b37b00; margin-right: 6px; }
.tcr-score-todo ul { margin: 0 0 4px; padding-left: 20px; }
.tcr-score-todo a { color: var(--tcr-dt) !important; font-weight: 600; }
.tcr-record { color: var(--tcr-dt) !important; font-weight: 700; }
.tcr-record-pts { color: #6b6b7d; font-size: .9em; }
.tcr-result b { display: inline-block; width: 1.4em; }
.tcr-result-w b { color: #1f7a4d; }
.tcr-result-l b { color: #a33a3a; }
.tcr-result-t b { color: #6b6b7d; }
.tcr-score-link { color: var(--tcr-dt) !important; font-weight: 700; font-size: .85rem; text-decoration: underline; white-space: nowrap; }
.tcr-standings-div { background: #fff; border-radius: 12px; box-shadow: 0 2px 10px rgba(51, 51, 76, .07); padding: 18px 20px 6px; margin-bottom: 26px; }
.tcr-standings-div h2 { font-size: 1.9rem; color: var(--tcr-dp); margin-bottom: 10px; }
.tcr-standings-table { margin-bottom: 12px; font-size: .95rem; min-width: 560px; }
.tcr-standings-table thead th { background: var(--tcr-dp); color: var(--tcr-ow); border: 0; font-weight: 600; white-space: nowrap; }
.tcr-standings-table abbr { text-decoration: none; border: 0; cursor: help; }
.tcr-standings-table td, .tcr-standings-table th { vertical-align: middle; }
.tcr-standings-table .tcr-place { color: #6b6b7d; font-weight: 700; width: 44px; }
.tcr-standings-table .tcr-pts { font-weight: 800; color: var(--tcr-dp); background: rgba(65, 163, 163, .08); }
.tcr-standings-table thead .tcr-pts { background: var(--tcr-dt); color: #fff; }
.tcr-standings-team { display: flex; align-items: center; gap: 10px; color: var(--tcr-dp) !important; font-weight: 700; text-decoration: none !important; }
.tcr-standings-team:hover span { color: var(--tcr-dt); }
.tcr-standings-team img { width: 34px; height: 34px; object-fit: contain; flex: none; }
.tcr-standings-note { margin-bottom: 22px; }
.tcr-standings-rules { font-size: .88rem; color: #555; }
.tcr-standings-rules a { color: var(--tcr-dt) !important; font-weight: 600; }
@media (max-width: 767.98px) {
	.tcr-score { font-size: 1.5rem; }
	.tcr-standings-div { padding: 14px 12px 4px; }
	.tcr-standings-div h2 { font-size: 1.6rem; }
}
@media (min-width: 768px) {
	/* side by side: Home 4  FINAL  2 Away */
	.tcr-game-teams .tcr-game-team:last-child .tcr-score { order: -1; margin-left: 0; padding-left: 0; padding-right: 4px; }
}
.tcr-col-note { display: none; }
@media (max-width: 575.98px) {
	.tcr-standings-table { min-width: 0; font-size: .9rem; }
	.tcr-standings-table .tcr-col-extra { display: none; }
	.tcr-standings-table td, .tcr-standings-table th { padding: .55rem .3rem; }
	.tcr-standings-table .tcr-place { width: 26px; }
	.tcr-standings-team { gap: 6px; }
	.tcr-standings-team img { width: 26px; height: 26px; }
	.tcr-col-note { display: block; margin-bottom: 4px; }
}
/* Five menu items plus the name fit on one line on laptops too (Standings added Sept 2026) */
@media (min-width: 992px) {
	#mainNav .navbar-nav > li.nav-item > a.nav-link { white-space: nowrap; }
	#mainNav .tcr-user-toggle { white-space: nowrap; }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
	#mainNav .navbar-nav > li.nav-item > a.nav-link { padding-left: .5rem; padding-right: .5rem; font-size: .76rem; }
	#mainNav .tcr-user-toggle img { width: 24px; height: 24px; }
	#mainNav .navbar-brand img { max-height: 34px; width: auto; }
}
/* Store link (partner site, opens in a new tab) */
#mainNav .tcr-nav-store .bi { font-size: .7em; margin-left: 5px; position: relative; top: -1px; }
.tcr-footer a .bi-box-arrow-up-right, footer a .bi-box-arrow-up-right { font-size: .75em; margin-left: 2px; }

/* ---- Team store on the home page (Sept 2026) ---- */
.tcr-gear-lead { max-width: 640px; margin: 0 auto 28px; }
.tcr-gear-grid { display: grid; grid-template-columns: 1.55fr 1fr 1fr; gap: 20px; margin-bottom: 30px; }
.tcr-gear-card { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; background: #fff; border: 1px solid #e3e6ee; border-radius: 14px;
	padding: 14px 14px 16px; transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
.tcr-gear-card:hover { transform: translateY(-3px); border-color: var(--tcr-lt); box-shadow: 0 8px 22px rgba(51, 51, 76, .12); }
.tcr-gear-art { display: flex; align-items: center; justify-content: center; width: 100%; height: 240px; border-radius: 10px; overflow: hidden; margin-bottom: 12px; }
.tcr-gear-art img { display: block; max-width: 100%; max-height: 100%; object-fit: contain; }
.tcr-gear-name { font-weight: 700; font-size: 1.08rem; line-height: 1.25; color: var(--tcr-dp) !important; text-decoration: none !important; }
.tcr-gear-link::after { content: ""; position: absolute; inset: 0; border-radius: 14px; } /* the whole card opens the store */
.tcr-gear-link:focus { outline: none; }
.tcr-gear-card:has(.tcr-gear-link:focus-visible) { outline: 2px solid var(--tcr-lt); outline-offset: 2px; } /* keyboard focus on the card's link */
.tcr-gear-price { font-weight: 700; color: var(--tcr-dt); margin-top: 4px; }
.tcr-gear-price small { color: #6b6b7d; font-weight: 600; }
.tcr-gear-colors { position: relative; z-index: 2; display: flex; flex-wrap: wrap; justify-content: center; gap: 7px; margin-top: 10px; }
.tcr-swatch { width: 22px; height: 22px; padding: 0; border-radius: 50%; border: 2px solid #fff; box-shadow: 0 0 0 1px #c9ccd6; cursor: pointer; }
.tcr-swatch.is-on { box-shadow: 0 0 0 2px var(--tcr-dt); }
.tcr-swatch:focus-visible { outline: 2px solid var(--tcr-dp); outline-offset: 2px; }
.tcr-gear-shop { margin-top: auto; padding-top: 10px; font-size: .85rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--tcr-dt); }
.tcr-gear-card:hover .tcr-gear-shop .bi { margin-left: 3px; }
.tcr-gear-note { font-size: .85rem; color: #6b6b7d; margin: 12px 0 0; }
.tcr-gear .tcr-btn .bi { margin-right: 6px; }
@media (max-width: 991.98px) {
	.tcr-gear-grid { grid-template-columns: 1fr 1fr; }
	.tcr-gear-wide { grid-column: 1 / -1; }
}
@media (max-width: 575.98px) {
	.tcr-gear-grid { gap: 12px; }
	.tcr-gear-card { padding: 10px 10px 14px; }
	.tcr-gear-art { height: 190px; }
	.tcr-gear-wide .tcr-gear-art { height: auto; }
	.tcr-gear-name { font-size: .98rem; }
	.tcr-swatch { width: 24px; height: 24px; }
}

/* ---- Team store links (Sept 2026) ---- */
.tcr-store-box { scroll-margin-top: 90px; background: var(--tcr-ow); border: 1px solid #dfe7ea; border-radius: 12px; padding: 16px 18px; margin: 18px 0 8px; max-width: 720px; }
.tcr-store-box h3 { display: flex; align-items: center; gap: 8px; font-size: 1.15rem; font-weight: 700; color: var(--tcr-dp); margin-bottom: 2px; }
.tcr-store-box h3 .bi { color: var(--tcr-dt); }
.tcr-store-box .tcr-help { padding-left: 0; margin-bottom: 10px; }
.tcr-store-fields { display: flex; flex-wrap: wrap; gap: 10px 14px; }
.tcr-store-field { flex: 1 1 200px; min-width: 0; }
.tcr-store-field-url { flex: 2 1 280px; }
.tcr-store-field label { font-size: .82rem; font-weight: 700; color: var(--tcr-dp); margin-bottom: 3px; }
.tcr-store-field label span { font-weight: 400; color: #6b6b80; }
.tcr-store-field .form-control { font-size: .95rem; }
.tcr-store-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin-top: 12px; }
.tcr-store-alert { font-size: .88rem; padding: 8px 12px; margin: 0 0 10px; }
.tcr-team-store { margin-top: 12px; }
.tcr-team-store .tcr-btn .bi { margin-right: 5px; }
.tcr-team-store small { display: block; margin-top: 5px; color: #6b6b80; font-size: .8rem; }

/* ---- Subs (Sept 2026) ---- */
.tcr-sub-alert { margin-bottom: 18px; }
.tcr-sub-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 22px; margin-bottom: 24px; align-items: start; }
.tcr-sub-card { background: #fff; border-radius: 12px; box-shadow: 0 2px 10px rgba(51, 51, 76, .07); padding: 20px 22px; }
.tcr-sub-card h2 { display: flex; align-items: center; gap: 10px; font-size: 1.35rem; font-weight: 700; color: var(--tcr-dp); margin-bottom: 8px; }
.tcr-sub-card h2 .bi { color: var(--tcr-dt); }
.tcr-sub-card h3 { font-size: 1.05rem; font-weight: 700; color: var(--tcr-dp); margin: 18px 0 8px; }
.tcr-sub-card p { color: #444; line-height: 1.55; }
.tcr-sub-status { font-size: 1rem; }
.tcr-sub-badge { display: inline-block; font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; border-radius: 999px; padding: 3px 10px; margin-right: 6px; vertical-align: 2px; }
.tcr-sub-badge-ok { background: #e3f4ea; color: #1f7a4d; }
.tcr-sub-badge-wait { background: #fff3d6; color: #8a5a00; }
.tcr-sub-badge-no { background: #fbe4e4; color: #a33a3a; }
.tcr-sub-form fieldset { border: 0; padding: 0; margin: 0 0 16px; min-width: 0; }
.tcr-sub-form legend, .tcr-sub-form label[for] { font-size: .9rem; font-weight: 700; color: var(--tcr-dp); margin-bottom: 6px; }
.tcr-sub-choices { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 4px; }
.tcr-sub-choice { position: relative; flex: 1 1 140px; margin: 0; cursor: pointer; }
.tcr-sub-choice input { position: absolute; opacity: 0; }
.tcr-sub-choice span { display: block; border: 2px solid #d9dce6; border-radius: 10px; padding: 10px 14px; font-weight: 700; color: var(--tcr-dp); }
.tcr-sub-choice small { display: block; font-weight: 600; color: #6b6b80; font-size: .78rem; }
.tcr-sub-choice input:checked + span { border-color: var(--tcr-lt); background: rgba(65, 163, 163, .08); }
.tcr-sub-choice input:focus-visible + span { outline: 2px solid var(--tcr-dp); outline-offset: 2px; }
.tcr-sub-form .tcr-help { padding-left: 0; }
.tcr-sub-form .tcr-help a { color: var(--tcr-dt) !important; text-decoration: underline; }
.tcr-sub-form .tcr-btn { margin-right: 14px; }
.tcr-sub-how ol { padding-left: 20px; margin: 0; color: #444; line-height: 1.6; }
.tcr-sub-how li { margin-bottom: 6px; }
.tcr-sub-spots h2 { font-size: 1.7rem; color: var(--tcr-dp); }
.tcr-sub-section { scroll-margin-top: 90px; margin: 26px 0 10px; }
.tcr-sub-section h3 { display: flex; align-items: center; gap: 8px; font-size: 1.2rem; font-weight: 700; color: var(--tcr-dp); margin-bottom: 2px; }
.tcr-sub-section h3 .bi { color: var(--tcr-dt); }
.tcr-sub-section .tcr-help { padding-left: 0; margin-bottom: 10px; }
.tcr-sub-table thead th { background: var(--tcr-dp); color: var(--tcr-ow); border: 0; font-weight: 600; white-space: nowrap; }
.tcr-sub-table td, .tcr-sub-table th { vertical-align: middle; }
.tcr-sub-actions { white-space: nowrap; text-align: right; }
.tcr-sub-actions .tcr-btn { margin-right: 12px; }
.tcr-sub-empty { text-align: center; color: #6b6b80; font-style: italic; padding: 18px !important; }
@media (max-width: 991.98px) { .tcr-sub-grid { grid-template-columns: 1fr; } }
/* Sign Up to Sub: your sub registration in one line (Oct 2026) */
.tcr-sub-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; background: #fff; border-radius: 10px; box-shadow: 0 2px 10px rgba(51, 51, 76, .07);
	padding: 12px 18px; margin-bottom: 22px; color: #444; }
.tcr-sub-bar .tcr-sub-badge { margin-right: 0; }
.tcr-sub-bar a { margin-left: auto; font-weight: 700; color: var(--tcr-dt) !important; text-decoration: underline; }
.tcr-sub-card .tcr-btn-dark { margin-left: 0; }
/* Registration: Full Time Players and Sub Players rows */
.tcr-reg-label { font-size: 1.25rem; font-weight: 700; color: var(--tcr-dp); margin: 22px 0 0 10px; }


/* ---- Attendance: My Games and team Attendance pages (Oct 2026) ---- */
.tcr-att-alert { margin-bottom: 18px; }
.tcr-att-card { background: #fff; border-radius: 12px; box-shadow: 0 2px 10px rgba(51, 51, 76, .07); padding: 20px 22px; margin-bottom: 20px; scroll-margin-top: 90px; }
.tcr-att-card h2 { display: flex; align-items: center; gap: 10px; font-size: 1.35rem; font-weight: 700; color: var(--tcr-dp); margin-bottom: 10px; }
.tcr-att-card h2 .bi { color: var(--tcr-dt); }
.tcr-att-card p { color: #444; line-height: 1.55; }
.tcr-att-card .tcr-help { padding-left: 0; margin: 12px 0 0; font-size: .82rem; }
.tcr-att-card .tcr-help a { color: var(--tcr-dt) !important; font-weight: 700; text-decoration: underline; }
.tcr-att-game { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.tcr-att-game strong { font-size: 1.08rem; color: var(--tcr-dp); }
.tcr-att-game span { font-weight: 700; color: #333; overflow-wrap: anywhere; }
.tcr-att-game small { color: #6b6b7d; font-size: .85rem; }
.tcr-att-game small .bi { color: var(--tcr-dt); }
.tcr-att-game .tcr-vs { font-style: italic; margin: 0 3px; padding: 0 !important; }
.tcr-att-game-big { background: var(--tcr-ow); border-left: 5px solid var(--tcr-lt); border-radius: 8px; padding: 12px 16px; margin-bottom: 16px; }
.tcr-att-game-big strong { font-size: 1.2rem; }
.tcr-att-now { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; font-size: 1.1rem; font-weight: 700; color: var(--tcr-dp); margin-bottom: 8px; }
.tcr-att-now small { font-size: .78rem; font-weight: 600; color: #6b6b80; }
.tcr-att-badge { display: inline-block; font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; border-radius: 999px; padding: 4px 12px; }
.tcr-att-badge-in { background: #e3f4ea; color: #1f7a4d; }
.tcr-att-badge-out { background: #fbe4e4; color: #a33a3a; }
.tcr-att-badge-none { background: #eceef3; color: #55576b; }
.tcr-att-sofar { margin-top: 4px; }
.tcr-att-sofar a { color: var(--tcr-dt) !important; font-weight: 700; text-decoration: underline; }
.tcr-att-careful { display: flex; gap: 10px; align-items: flex-start; background: #fff3d6; color: #6e4800 !important; border-radius: 8px; padding: 10px 14px; font-size: .9rem; line-height: 1.5; margin: 0 0 14px; }
.tcr-att-careful .bi { color: #8a5a00; margin-top: 2px; }
.tcr-att-careful-page { margin-bottom: 18px; }

/* My Games rows and In / Out buttons */
.tcr-att-row { display: flex; align-items: center; justify-content: space-between; gap: 14px 20px; background: #fff; border-radius: 10px; border-left: 5px solid var(--tcr-lt);
	box-shadow: 0 2px 10px rgba(51, 51, 76, .07); padding: 14px 18px; margin-bottom: 10px; scroll-margin-top: 90px; }
.tcr-att-answer { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; flex: none; }
.tcr-att-answer .tcr-att-now { margin: 0; justify-content: flex-end; }
.tcr-att-buttons { display: inline-flex; gap: 6px; margin: 0; }
.tcr-att-pick { min-width: 64px; padding: 7px 14px; border-radius: 6px; border: 2px solid #c9ccd6; background: #fff; color: var(--tcr-dp); font-weight: 700; font-size: .85rem;
	text-transform: uppercase; letter-spacing: .04em; cursor: pointer; transition: background-color .15s, border-color .15s, color .15s; }
.tcr-att-pick-in:hover, .tcr-att-pick-in:focus-visible { border-color: #1f7a4d; color: #1f7a4d; }
.tcr-att-pick-out:hover, .tcr-att-pick-out:focus-visible { border-color: #a33a3a; color: #a33a3a; }
.tcr-att-pick-in.is-on { background: #1f7a4d; border-color: #1f7a4d; color: #fff; }
.tcr-att-pick-out.is-on { background: #a33a3a; border-color: #a33a3a; color: #fff; }
.tcr-att-pick:focus-visible { outline: 2px solid var(--tcr-dp); outline-offset: 2px; }
.tcr-att-locked { color: #6b6b80; font-size: .82rem; max-width: 260px; text-align: right; }

/* Team attendance page */
.tcr-att-pickers { display: flex; flex-wrap: wrap; gap: 0 24px; }
.tcr-att-pickers .tcr-att-pickgame { flex: 1 1 300px; }
.tcr-att-pickgame { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-bottom: 16px; }
.tcr-att-pickgame label { font-weight: 700; color: var(--tcr-dp); margin: 0; }
.tcr-att-pickgame select { flex: 1 1 260px; max-width: 420px; }
.tcr-att-counts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.tcr-att-counts div { background: #f6f8fa; border-radius: 8px; padding: 10px 6px; text-align: center; }
.tcr-att-counts b { display: block; font-size: 1.7rem; line-height: 1.1; color: var(--tcr-dp); }
.tcr-att-counts span { font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: #6b6b80; }
.tcr-att-group { display: flex; align-items: center; gap: 8px; font-size: 1rem; font-weight: 700; color: #6b6b80; margin: 16px 0 6px; }
.tcr-att-list { list-style: none; padding: 0; margin: 0; }
.tcr-att-list li { display: flex; align-items: center; justify-content: space-between; gap: 10px 16px; padding: 9px 0; border-bottom: 1px solid #eceef3; }
.tcr-att-list li:last-child { border-bottom: 0; }
.tcr-att-who { min-width: 0; }
.tcr-att-who a { font-weight: 700; color: var(--tcr-dp) !important; overflow-wrap: anywhere; }
.tcr-att-you { font-style: normal; font-size: .85rem; color: #6b6b80; }
.tcr-att-list li.is-me { background: var(--tcr-ow); border-radius: 6px; margin: 0 -10px; padding: 9px 10px; }
.tcr-att-who small { display: block; color: #6b6b80; font-size: .8rem; }

@media (max-width: 575.98px) {
	.tcr-att-card { padding: 16px 14px; }
	.tcr-att-row { flex-direction: column; align-items: stretch; padding: 12px 14px; }
	.tcr-att-answer { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; }
	.tcr-att-answer .tcr-att-now { justify-content: flex-start; }
	.tcr-att-locked { text-align: left; max-width: none; }
	.tcr-att-counts { grid-template-columns: repeat(2, 1fr); }
	.tcr-att-pick { min-width: 56px; padding: 7px 10px; }
}

/* ---- Sub spots (Oct 2026): team Attendance page and game pages ---- */
.tcr-ss-sum { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 20px; margin-bottom: 10px; color: #444; }
.tcr-ss-sum b { font-size: 1.5rem; color: var(--tcr-dp); margin-right: 4px; }
.tcr-ss-sum small { color: #6b6b80; flex-basis: 100%; }
.tcr-ss-short { display: flex; gap: 8px; align-items: flex-start; background: #fff3d6; color: #6e4800 !important; border-radius: 8px; padding: 9px 12px; font-size: .9rem; margin: 0 0 12px; }
.tcr-ss-subtag { display: inline-block; font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; background: #f3ecd7; color: #7a6326; border-radius: 4px; padding: 1px 6px; margin-left: 6px; }
.tcr-ss-post { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }

/* ---- Team chat (Oct 2026): unread count next to your name, on Chat in your menu, and on the dashboard ---- */
.tcr-chat-badge { display: inline-block; min-width: 19px; margin-left: 5px; padding: 0 5px; border-radius: 999px; background: #c0392b; color: #fff !important; font-size: .7rem; font-weight: 700; line-height: 18px; text-align: center; vertical-align: 1px; letter-spacing: 0; font-style: normal; }
#mainNav .tcr-user-toggle .tcr-chat-badge { margin-left: 0; }
#mainNav .tcr-user-menu .tcr-menu-item .tcr-chat-badge { margin-left: auto; }

/* ---- The TCR app (Oct 2026) ----
   When a player adds the site to their home screen and opens it from there ("standalone"), the website menu, page
   banners and footer give way to a slim app bar on top and tabs along the bottom (header.php, footer.php).
   In a normal browser nothing here shows. Logged out, the app shows the regular website (to log in or sign up). */
.tcr-appbar, .tcr-tabbar { display: none; }
@media (display-mode: standalone) {
	html { -webkit-tap-highlight-color: transparent; }
	body.tcr-logged-in { padding-top: 52px; padding-bottom: calc(60px + env(safe-area-inset-bottom)); background: #f3f7f8; }
	.tcr-logged-in #mainNav, .tcr-logged-in .tcr-footer { display: none !important; }
	.tcr-appbar { display: flex; position: fixed; top: 0; left: 0; right: 0; height: 52px; z-index: 1040; align-items: center; justify-content: space-between;
		padding: 0 6px; background: var(--tcr-dp); box-shadow: 0 1px 0 rgba(0, 0, 0, .15); }
	.tcr-appbar-logo img { height: 30px; width: auto; display: block; }
	.tcr-appbar-side, .tcr-appbar-back { width: 44px; height: 44px; flex: none; }
	.tcr-appbar-back { border: 0; background: none; color: #fff; font-size: 1.4rem; padding: 0; }
	.tcr-tabbar { display: flex; position: fixed; bottom: 0; left: 0; right: 0; z-index: 1040; background: #fff; border-top: 1px solid #e3e8ec;
		padding-bottom: env(safe-area-inset-bottom); }
	.tcr-tabbar a { position: relative; flex: 1; display: flex; flex-direction: column; align-items: center; gap: 1px; padding: 7px 0 6px;
		color: #6b6b80 !important; font-size: .68rem; font-weight: 700; text-decoration: none !important; letter-spacing: .02em; }
	.tcr-tabbar a .bi { font-size: 1.35rem; line-height: 1.1; }
	.tcr-tabbar a.tcr-on { color: var(--tcr-dt) !important; }
	.tcr-tabbar a.tcr-on .bi { color: var(--tcr-dt); }
	.tcr-tabbar .tcr-chat-badge { position: absolute; top: 3px; left: calc(50% + 6px); margin: 0; }
	/* Page banners shrink to a title */
	.tcr-logged-in .tcr-page-hero { padding: 16px 0 12px !important; }
	.tcr-logged-in .tcr-page-hero::after { display: none; }
	.tcr-logged-in .tcr-page-hero h1 { font-size: 1.75rem !important; }
	.tcr-logged-in .tcr-page-hero p { font-size: .92rem !important; margin-top: 4px !important; }
	.tcr-logged-in .tcr-hero { padding: 28px 0 24px !important; }
	.tcr-logged-in .tcr-section { padding-top: 22px !important; padding-bottom: 28px !important; }
	.tcr-logged-in .tcr-cta { display: none; } /* "Ready to play?" sign-up banners */
	.tcr-not-in-app { display: none !important; } /* e.g. the "Get the TCR app" card */
	/* The empty dark strip some pages have to clear the website menu isn't needed under the app bar */
	.tcr-logged-in section.bg-primary[style*="padding-top:49px;padding-bottom:0px"] { display: none !important; }
}
/* Sidebar pages (Admin Settings, Captain Settings, Account) on phones: the dark menu reaches the right edge
   instead of stopping short and leaving a light strip down the side (Oct 2026) */
@media (max-width: 767.98px) {
	.container-fluid:has(> .row > .tcr-sidebar) { padding-right: 0; }
}
