/* brand/profile.css — Profile/UM competition panels, tournament reg, activity, unified header (Wave 3 split; cascade slice 1619-2183) */
/* -------------------------------------------------------------------------- */
/* Phase B — Competitive profile sections (UM profile shortcodes)             */
/* Dark-first panels, teal accents, empty cards reuse .tmg-empty-card.        */
/* -------------------------------------------------------------------------- */
.tmg-profile-competition,
.tmg-profile-section {
    box-sizing: border-box;
    margin-left: auto;
    margin-right: auto;
    max-width: var(--tmg-content-max, 1240px);
    width: 100%;
}

.tmg-profile-competition {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    margin-bottom: 1.5rem;
    margin-top: 1.5rem;
}

.tmg-profile-section {
    background: var(--tmg-panel);
    border: 1px solid var(--tmg-border);
    border-radius: .7rem;
    box-shadow: var(--tmg-shadow);
    padding: clamp(1rem, 2.5vw, 1.35rem);
}

.tmg-profile-heading {
    border-bottom: 1px solid color-mix(in srgb, var(--tmg-teal) 28%, var(--tmg-border));
    color: var(--tmg-mist);
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: -.01em;
    margin: 0 0 1rem;
    padding-bottom: .55rem;
}

.tmg-profile-elo-table {
    margin: 0;
    width: 100%;
}

.tmg-elo-value {
    color: var(--tmg-teal);
    font-variant-numeric: tabular-nums;
    font-weight: 700;
}

.tmg-mode-pill,
.tmg-source-pill {
    background: color-mix(in srgb, var(--tmg-teal) 14%, var(--tmg-ink));
    border: 1px solid color-mix(in srgb, var(--tmg-teal) 35%, var(--tmg-border));
    border-radius: 999px;
    color: var(--tmg-teal);
    display: inline-block;
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .04em;
    padding: .15rem .55rem;
    text-transform: uppercase;
}

.tmg-profile-match-list,
.tmg-profile-tourney-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.tmg-profile-match,
.tmg-profile-tourney {
    align-items: flex-start;
    border-bottom: 1px solid var(--tmg-border);
    display: flex;
    flex-wrap: wrap;
    gap: .65rem 1rem;
    justify-content: space-between;
    padding: .85rem 0;
}

.tmg-profile-match:last-child,
.tmg-profile-tourney:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.tmg-profile-match:first-child,
.tmg-profile-tourney:first-child {
    padding-top: 0;
}

.tmg-profile-match-result {
    align-items: center;
    background: color-mix(in srgb, var(--tmg-ink) 55%, var(--tmg-panel));
    border: 1px solid var(--tmg-border);
    border-radius: .45rem;
    color: var(--tmg-muted);
    display: inline-flex;
    flex: 0 0 2.1rem;
    font-size: .85rem;
    font-weight: 800;
    height: 2.1rem;
    justify-content: center;
    letter-spacing: .02em;
    width: 2.1rem;
}

.tmg-profile-match-result.tmg-result-w {
    background: color-mix(in srgb, var(--tmg-teal) 22%, var(--tmg-ink));
    border-color: color-mix(in srgb, var(--tmg-teal) 55%, var(--tmg-border));
    color: var(--tmg-teal);
}

.tmg-profile-match-result.tmg-result-l {
    background: color-mix(in srgb, #c45c5c 18%, var(--tmg-ink));
    border-color: color-mix(in srgb, #c45c5c 40%, var(--tmg-border));
    color: #e8a0a0;
}

.tmg-profile-match-body {
    display: flex;
    flex: 1 1 12rem;
    flex-direction: column;
    gap: .25rem;
    min-width: 0;
}

.tmg-profile-match-context,
.tmg-profile-tourney-name {
    color: var(--tmg-mist);
    font-weight: 650;
    text-decoration: none;
}

a.tmg-profile-tourney-name:hover,
a.tmg-profile-tourney-name:focus-visible,
a.tmg-player-link:hover,
a.tmg-player-link:focus-visible {
    color: var(--tmg-teal);
}

a.tmg-player-link {
    color: var(--tmg-mist);
    text-decoration: none;
}

.tmg-profile-match-vs {
    color: var(--tmg-muted);
    font-size: .9rem;
}

.tmg-profile-match-meta,
.tmg-profile-tourney-meta {
    align-items: center;
    color: var(--tmg-muted);
    display: flex;
    flex-wrap: wrap;
    font-size: .8rem;
    gap: .45rem .75rem;
}

.tmg-profile-match .tmg-match-link,
.tmg-profile-section .tmg-match-link {
    color: var(--tmg-teal);
    flex: 0 0 auto;
    font-size: .85rem;
    font-weight: 600;
    margin-left: auto;
    text-decoration: none;
    white-space: nowrap;
}

.tmg-profile-match .tmg-match-link:hover,
.tmg-profile-match .tmg-match-link:focus-visible {
    text-decoration: underline;
}

.tmg-profile-tourney-result {
    color: var(--tmg-teal);
    font-size: .9rem;
    font-weight: 650;
}

.tmg-profile-section .tmg-empty-card,
.tmg-profile-empty {
    margin: 0;
    min-height: 6.5rem;
}

.tmg-leaderboard a.tmg-player-link,
.tmg-tournament a.tmg-player-link,
.tmg-side a.tmg-player-link {
    color: inherit;
    text-decoration: none;
}

.tmg-leaderboard a.tmg-player-link:hover,
.tmg-tournament a.tmg-player-link:hover,
.tmg-side a.tmg-player-link:hover {
    color: var(--tmg-teal);
}


/* -------------------------------------------------------------------------- */
/* Phase C — Tournament registration (dark-first)                             */
/* -------------------------------------------------------------------------- */

.tmg-tournament-register {
    margin: 1.25rem 0 1.5rem;
}

.tmg-register-card {
    padding: 1.1rem 1.25rem;
    border-radius: .65rem;
    border: 1px solid rgba(148, 163, 184, 0.18);
    background: rgba(15, 23, 28, 0.72);
    color: var(--tmg-mist, #e8eef0);
}

.tmg-register-eligible {
    border-color: rgba(13, 148, 136, 0.45);
    box-shadow: 0 0 0 1px rgba(13, 148, 136, 0.12);
}

.tmg-register-status {
    border-color: rgba(13, 148, 136, 0.35);
}

.tmg-register-title {
    margin: 0 0 .35rem;
    font-weight: 700;
    font-size: 1.05rem;
    color: var(--tmg-mist, #e8eef0);
}

.tmg-register-hint {
    margin: 0 0 .85rem;
    color: rgba(232, 238, 240, 0.82);
    line-height: 1.45;
}

.tmg-register-spots,
.tmg-register-meta {
    margin: .25rem 0 .5rem;
    font-size: .88rem;
    color: rgba(232, 238, 240, 0.65);
}

.tmg-register-btn,
button.tmg-register-btn,
a.tmg-register-btn,
a.tmg-register-btn-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    padding: .6rem 1.35rem;
    font-weight: 700;
    font-size: .95rem;
    letter-spacing: .01em;
    border: none;
    border-radius: .45rem;
    cursor: pointer;
    text-decoration: none;
    background: var(--tmg-teal, #0d9488);
    color: #061014 !important;
    transition: filter .15s ease, transform .15s ease;
}

.tmg-register-btn:hover,
a.tmg-register-btn-link:hover {
    filter: brightness(1.1);
    color: #061014 !important;
}

.tmg-register-form {
    margin: 0;
}

.tmg-tournament-reg-meta {
    margin: .35rem 0 0;
    font-size: .88rem;
    color: rgba(232, 238, 240, 0.7);
}

.tmg-register-empty {
    min-height: 5.5rem;
}

html[data-theme="light"] .tmg-register-card,
body.tmg-theme-light .tmg-register-card {
    background: rgba(255, 255, 255, 0.92);
    border-color: rgba(15, 23, 28, 0.12);
    color: #0b1214;
}

html[data-theme="light"] .tmg-register-title,
body.tmg-theme-light .tmg-register-title {
    color: #0b1214;
}

html[data-theme="light"] .tmg-register-hint,
body.tmg-theme-light .tmg-register-hint,
html[data-theme="light"] .tmg-register-spots,
body.tmg-theme-light .tmg-register-spots,
html[data-theme="light"] .tmg-register-meta,
body.tmg-theme-light .tmg-register-meta,
html[data-theme="light"] .tmg-tournament-reg-meta,
body.tmg-theme-light .tmg-tournament-reg-meta {
    color: rgba(11, 18, 20, 0.72);
}

/* -------------------------------------------------------------------------- */
/* TT5 / demo chrome — hide if present (surgical; prefer template removal)    */
/*                                                                            */
/* What the WP template should remove (Site Editor → Templates / Parts):      */
/*   1. Header & Footer: WooCommerce Mini-Cart / Cart Drawer blocks when      */
/*      WooCommerce storefront is not in use.                                 */
/*   2. Footer: Pattern Library sample blocks — newsletter CTAs, “Designed    */
/*      with WordPress” credit rows, placeholder social strips, demo promo    */
/*      columns that are not site content.                                    */
/*   3. Keep a simple footer: logo, primary nav links, copyright only.        */
/*                                                                            */
/* These rules only hide known Woo / TT5 demo chrome. They are a stopgap;     */
/* remove the blocks from the template so the markup is gone, not just CSS.   */
/* DO NOT hide header primary nav or a real copyright line.                   */
/* -------------------------------------------------------------------------- */

/*
 * WooCommerce mini-cart button + slide-out drawer (“Your cart”, “Start shopping”).
 * Selectors: .wp-block-woocommerce-mini-cart, .wc-block-mini-cart,
 * .wc-block-mini-cart__button, .wc-block-mini-cart__drawer,
 * .wc-block-mini-cart__overlay, .wc-block-components-drawer,
 * .wc-block-components-drawer__screen-overlay, aside.wc-block-mini-cart__drawer,
 * filled/empty mini-cart contents, shopping-button / empty-cart wrappers,
 * interactive/router overlays for the drawer.
 */
body .wp-block-woocommerce-mini-cart,
body .wc-block-mini-cart,
body .wc-block-mini-cart__button,
body .wc-block-mini-cart__drawer,
body .wc-block-mini-cart__overlay,
body .wc-block-mini-cart__template-part,
body .wc-block-mini-cart__empty-cart-wrapper,
body .wc-block-mini-cart__shopping-button,
body .wc-block-components-drawer,
body .wc-block-components-drawer__screen-overlay,
body .wc-block-components-drawer__screen-overlay--is-hidden,
body aside.wc-block-mini-cart__drawer,
body .wp-block-woocommerce-filled-mini-cart-contents-block,
body .wp-block-woocommerce-empty-mini-cart-contents-block,
body .wp-block-woocommerce-mini-cart-contents,
body .wp-block-woocommerce-mini-cart-title-label-block,
body .wp-block-woocommerce-mini-cart-shopping-button-block,
body [data-block-name="woocommerce/mini-cart"],
body [data-wp-interactive="woocommerce/mini-cart"],
body [data-wp-router-region*="mini-cart"],
body [data-wp-key="wc-mini-cart-overlay"] {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/*
 * Footer # stubs (1.8.42): tmg-theme.js scrubFooterDeadHashes rewrites Blog→/news/,
 * Authors→/players/, Events→/tournaments/; hides About/FAQs/Shop/Patterns/Themes,
 * remaining dead href="#", TT5 + WordPress credits; dedupes Players/League.
 * CSS below hides # stubs (pre-JS flash) and credit rows.
 */
footer .wp-block-navigation-item:has(> a[href="#"]),
footer .wp-block-navigation-item:has(> a[href=""]),
footer.wp-block-template-part .wp-block-navigation-item:has(> a[href="#"]),
footer.wp-block-template-part .wp-block-navigation-item:has(> a[href=""]),
#colophon .wp-block-navigation-item:has(> a[href="#"]),
#colophon .wp-block-navigation-item:has(> a[href=""]),
.wp-block-template-part[area="footer"] .wp-block-navigation-item:has(> a[href="#"]),
.wp-block-template-part[area="footer"] .wp-block-navigation-item:has(> a[href=""]),
.wp-site-blocks > footer .wp-block-navigation-item:has(> a[href="#"]),
.wp-site-blocks > footer .wp-block-navigation-item:has(> a[href=""]) {
    display: none !important;
}

/* TT5 theme name + "Designed with WordPress" credit rows (whole flex group) */
footer .wp-block-group:has(a[href*="wordpress.org"]),
footer p.has-small-font-size:has(a[href*="wordpress.org"]),
footer .wp-block-paragraph:has(a[href*="wordpress.org"]),
footer.wp-block-template-part .wp-block-group:has(a[href*="wordpress.org"]),
footer.wp-block-template-part p.has-small-font-size:has(a[href*="wordpress.org"]),
.wp-block-template-part[area="footer"] .wp-block-group:has(a[href*="wordpress.org"]),
.wp-site-blocks > footer .wp-block-group:has(a[href*="wordpress.org"]),
footer a[href*="wordpress.org"],
footer [data-tmg-footer-hide="1"] {
    display: none !important;
}

/*
 * Pattern-library footer junk often ships as wide footer groups with sample
 * newsletter / promo columns. Prefer deleting those blocks in the footer
 * template part. Optional class hooks if editors mark leftovers:
 *   .tmg-hide-demo  — hide any leftover demo block after template edit
 */
body .tmg-hide-demo,
body footer.wp-block-template-part .tmg-hide-demo,
body .wp-site-blocks > footer .tmg-hide-demo,
body #colophon .tmg-hide-demo {
    display: none !important;
}


/* -------------------------------------------------------------------------- */
/* HORIZONTAL centering (left-right) — Captain 2026-09-19                      */
/* Content was flush left because TT5 uses alignfull / full-bleed groups.     */
/* Force page bodies to the same max-width + auto margins as the header.      */
/* -------------------------------------------------------------------------- */
body .wp-site-blocks > main > .wp-block-group.alignfull,
body .wp-site-blocks > main > .wp-block-group.alignwide,
body .entry-content.alignfull,
body .entry-content.alignwide,
body .wp-block-post-content.alignfull,
body .wp-block-post-content.alignwide,
body main .wp-block-post-content,
body main .entry-content {
    box-sizing: border-box !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: var(--tmg-content-max, 1240px) !important;
    padding-left: var(--tmg-content-pad-x, 24px);
    padding-right: var(--tmg-content-pad-x, 24px);
    width: 100%;
}

body .wp-block-post-title,
body h1.wp-block-post-title {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: var(--tmg-content-max, 1240px) !important;
    padding-left: var(--tmg-content-pad-x, 24px);
    padding-right: var(--tmg-content-pad-x, 24px);
    width: 100%;
}

/* Keep homepage shortcode owning its own width (already centered via .wrap). */
body .entry-content:has(.tmg-home),
body .wp-block-post-content:has(.tmg-home) {
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}


/* -------------------------------------------------------------------------- */
/* UNIFIED HEADER — identical chrome every page (Captain 2026-09-19)          */
/* -------------------------------------------------------------------------- */
body .wp-site-blocks > header,
body header.wp-block-template-part {
    /* Shared sticky dark bar — do not per-page override */
    position: sticky;
    top: 0;
    z-index: 100;
}


/* -------------------------------------------------------------------------- */
/* Phase E — Activity feed [tmg_activity] (dark-first, home card language)    */
/* -------------------------------------------------------------------------- */
.tmg-activity {
    box-sizing: border-box;
    margin-left: auto;
    margin-right: auto;
    max-width: var(--tmg-home-max, var(--tmg-content-max, 1240px));
    width: 100%;
}

.tmg-activity-head {
    margin-bottom: 12px;
}

.tmg-activity-list {
    display: grid;
    gap: 12px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.tmg-activity-item {
    margin: 0;
    padding: 0;
}

.tmg-activity-card {
    align-items: flex-start;
    background: var(--tmg-panel);
    border: 1px solid var(--tmg-home-border, var(--tmg-border, #243038));
    border-radius: var(--tmg-home-radius, 16px);
    color: inherit !important;
    display: flex;
    gap: 14px;
    padding: 16px 18px;
    text-decoration: none !important;
    transition: transform .22s, border-color .22s, box-shadow .22s;
}

.tmg-activity-card-static {
    cursor: default;
}

a.tmg-activity-card:hover,
a.tmg-activity-card:focus-visible {
    border-color: rgba(46, 196, 182, .45);
    box-shadow: 0 0 28px rgba(46, 196, 182, .12);
    color: inherit !important;
    transform: translateY(-3px);
}

.tmg-activity-type {
    flex: 0 0 auto;
    margin-top: 2px;
}

.tmg-activity-body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.tmg-activity-title {
    color: var(--tmg-mist, #e8eef0);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: -.01em;
}

.tmg-activity-summary {
    color: var(--tmg-muted, #A8BCC4);
    font-size: 13px;
    line-height: 1.45;
}

.tmg-activity-when {
    color: var(--tmg-muted, #A8BCC4);
    font-size: 12px;
    margin-top: 2px;
}

.tmg-activity-upcoming_match .tmg-activity-type {
    background: color-mix(in srgb, var(--tmg-teal) 22%, var(--tmg-ink));
}

.tmg-activity-empty {
    margin: 0;
}

@media (max-width: 640px) {
    .tmg-activity-card {
        flex-direction: column;
        gap: 8px;
    }
}



/* 1.8.83 — public profile Teams section */
.tmg-profile-teams-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.tmg-profile-team-card {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px 16px;
	padding: 12px 14px;
	border: 1px solid color-mix(in srgb, var(--tmg-teal, #1a9b9b) 28%, transparent);
	border-radius: 10px;
	background: color-mix(in srgb, var(--tmg-ink, #0b1418) 88%, var(--tmg-teal, #1a9b9b));
	min-width: 0;
}

.tmg-profile-team-main {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 10px;
	min-width: 0;
}

.tmg-profile-team-stats {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
}

.tmg-profile-team-elo,
.tmg-profile-team-wl {
	font-size: 13px;
	color: var(--tmg-mist, #e8eef0);
}

.tmg-ladder-panel-team {
	display: inline-block;
	margin-left: 4px;
	font-size: 13px;
}
