:root {
  --matchcam-bg: #060b0d;
  --matchcam-bg-secondary: #0b1419;
  --matchcam-surface: #0f1b21;
  --matchcam-surface-2: #14242c;
  --matchcam-surface-hover: #18313a;
  --matchcam-green: #55f664;
  --matchcam-green-light: #8df735;
  --matchcam-green-deep: #1edb2f;
  --matchcam-text: #f7f7f7;
  --matchcam-text-secondary: #b8c1c8;
  --matchcam-field: #ffffff;
  --matchcam-field-text: #111827;
  --matchcam-field-muted: #667085;
  --matchcam-border: #2b4650;
  --matchcam-warning: #ffca58;
  --matchcam-danger: #ff707c;
  --matchcam-radius: 18px;
  --matchcam-shadow: 0 18px 46px rgba(0,0,0,.32);
  --matchcam-glow: 0 0 0 1px rgba(85,246,100,.10),0 16px 42px rgba(30,219,47,.06);
}

/*
 * MatchCam Brand Identity 0.2.0
 * Principle: no global text recoloring.
 * A component is recolored only when its background is recolored in the same rule set.
 * Form fields deliberately stay white with dark text for maximum readability.
 */

body.matchcam-brand-v2 {
  background: var(--matchcam-bg) !important;
}
body.matchcam-brand-v2 main { min-height: 45vh; }

/* ---------- Header / navigation ---------- */
body.matchcam-brand-v2 .site-header .hostinger-ai-menu {
  background: rgba(6,11,13,.98) !important;
  border-bottom: 1px solid rgba(85,246,100,.28) !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.28) !important;
}
body.matchcam-brand-v2 .site-header .hostinger-ai-menu-wrapper { align-items:center; gap:28px; }
body.matchcam-brand-v2 .site-header .wp-block-site-logo,
body.matchcam-brand-v2 .site-header .wp-block-site-logo a { display:block; width:auto !important; line-height:0; }
body.matchcam-brand-v2 .site-header .wp-block-site-logo img,
body.matchcam-brand-v2 .site-header img.custom-logo {
  display:block;
  width:clamp(218px,21vw,292px) !important;
  max-width:none !important;
  height:auto !important;
  object-fit:contain;
  filter:drop-shadow(0 0 12px rgba(85,246,100,.15));
}
body.matchcam-brand-v2 .site-header .hostinger-ai-site-title { display:none !important; }
body.matchcam-brand-v2 .site-header .wp-block-navigation-item__content,
body.matchcam-brand-v2 .site-header .wp-block-navigation-item__label,
body.matchcam-brand-v2 .site-header .wc-block-customer-account__account-icon {
  color:var(--matchcam-text) !important;
  fill:currentColor !important;
}
body.matchcam-brand-v2 .site-header .wp-block-navigation-item__content {
  position:relative;
  font-weight:700;
  text-decoration:none !important;
}
body.matchcam-brand-v2 .site-header .wp-block-navigation-item__content:hover,
body.matchcam-brand-v2 .site-header .current-menu-item > .wp-block-navigation-item__content,
body.matchcam-brand-v2 .site-header .current-menu-ancestor > .wp-block-navigation-item__content {
  color:var(--matchcam-green) !important;
}
body.matchcam-brand-v2 .site-header .wp-block-navigation__submenu-container,
body.matchcam-brand-v2 .site-header .wp-block-navigation__responsive-container {
  background:#071014 !important;
  border-color:var(--matchcam-border) !important;
  color:var(--matchcam-text) !important;
}
body.matchcam-brand-v2 .site-header .wp-block-navigation__responsive-container-open,
body.matchcam-brand-v2 .site-header .wp-block-navigation__responsive-container-close {
  color:var(--matchcam-text) !important;
}

/* ---------- Footer ---------- */
body.matchcam-brand-v2 footer.site-footer,
body.matchcam-brand-v2 footer.site-footer > .wp-block-group {
  background:#040809 !important;
  color:var(--matchcam-text-secondary) !important;
  border-top:1px solid rgba(85,246,100,.24) !important;
}
body.matchcam-brand-v2 .matchcam-brand-footer-logo {
  display:block;
  width:min(330px,calc(100% - 40px));
  margin:32px auto 4px;
  line-height:0;
}
body.matchcam-brand-v2 .matchcam-brand-footer-logo img { display:block; width:100%; height:auto; }
body.matchcam-brand-v2 footer.site-footer :is(a,p,h2,h3,h4) { color:var(--matchcam-text-secondary) !important; }
body.matchcam-brand-v2 footer.site-footer a:hover { color:var(--matchcam-green) !important; }

/* ---------- Shared dark component primitives ---------- */
body.matchcam-brand-v2 :is(
  .matchcam-home-hero,
  .matchcam-clubs-head,
  .matchcam-replays-head,
  .matchcam-competitions-head,
  .matchcam-club-hero,
  .matchcam-live-home-banner,
  .mct-hero,
  .mct-index-hero,
  .mct-create-hero,
  .mct-organizer-live-awards,
  .mcp-coach-hero,
  .mcp-training-head,
  .mcp-library-hero,
  .mccp-hero,
  .mcrdv-hero
) {
  background:
    radial-gradient(circle at 84% 18%,rgba(85,246,100,.13),transparent 34%),
    linear-gradient(135deg,#05090c 0%,#0b171d 58%,#123329 100%) !important;
  border-color:rgba(85,246,100,.28) !important;
  color:var(--matchcam-text) !important;
  box-shadow:var(--matchcam-shadow),var(--matchcam-glow) !important;
}
body.matchcam-brand-v2 :is(
  .matchcam-clubs-head,
  .matchcam-replays-head,
  .matchcam-competitions-head,
  .mct-index-hero,
  .mct-create-hero,
  .mcp-coach-hero,
  .mcrdv-hero
) :is(h1,h2,h3) { color:var(--matchcam-text) !important; }
body.matchcam-brand-v2 :is(
  .matchcam-clubs-head,
  .matchcam-replays-head,
  .matchcam-competitions-head,
  .mct-index-hero,
  .mct-create-hero,
  .mcp-coach-hero,
  .mcrdv-hero
) p { color:var(--matchcam-text-secondary) !important; }
body.matchcam-brand-v2 :is(
  .matchcam-clubs-kicker,
  .matchcam-replays-kicker,
  .matchcam-competitions-kicker,
  .matchcam-home-eyebrow,
  .matchcam-home-pricing-kicker,
  .matchcam-account-kicker,
  .matchcam-auth-kicker,
  .matchcam-section-kicker,
  .matchcam-detail-kicker,
  .mct-kicker,
  .mct-index-eyebrow,
  .mct-live-awards-kicker,
  .mcp-training-scope-label,
  .mccp-eyebrow,
  .mcrdv-kicker
) { color:var(--matchcam-green) !important; }

/* ---------- Core: page roots ---------- */
body.matchcam-brand-v2 :is(
  .matchcam-clubs-public,
  .matchcam-replays:not(.compact),
  .matchcam-competitions,
  .matchcam-replay-view,
  .matchcam-live-page,
  .matchcam-club-wrap,
  .matchcam-auth-page,
  .matchcam-account,
  .matchcam-no-access,
  .matchcam-unattached
) {
  background:linear-gradient(180deg,#071014 0%,#09151a 100%) !important;
}

/* ---------- Core: counters ---------- */
body.matchcam-brand-v2 :is(.matchcam-clubs-count,.matchcam-replays-count,.matchcam-competitions-count,.matchcam-highlights-count) {
  background:var(--matchcam-surface) !important;
  border-color:var(--matchcam-border) !important;
  box-shadow:none !important;
}
body.matchcam-brand-v2 :is(.matchcam-clubs-count,.matchcam-replays-count,.matchcam-competitions-count,.matchcam-highlights-count) strong {
  color:var(--matchcam-green) !important;
}
body.matchcam-brand-v2 :is(.matchcam-clubs-count,.matchcam-replays-count,.matchcam-competitions-count,.matchcam-highlights-count) span {
  color:var(--matchcam-text-secondary) !important;
}

/* ---------- Core: Clubs ---------- */
body.matchcam-brand-v2 :is(.matchcam-club-card,.matchcam-partner-card,.matchcam-clubs-empty,.matchcam-partners-empty) {
  background:var(--matchcam-surface) !important;
  border-color:var(--matchcam-border) !important;
  color:var(--matchcam-text) !important;
  box-shadow:var(--matchcam-glow) !important;
}
body.matchcam-brand-v2 .matchcam-club-card:hover,
body.matchcam-brand-v2 .matchcam-partner-card:hover {
  background:var(--matchcam-surface-hover) !important;
  border-color:rgba(85,246,100,.48) !important;
}
body.matchcam-brand-v2 :is(.matchcam-club-cover,.matchcam-partner-visual) {
  background:linear-gradient(145deg,#071014 0%,#0f2527 68%,#1d4a2d 130%) !important;
}
/* Club logos intentionally keep a neutral white backing for crest legibility. */
body.matchcam-brand-v2 :is(.matchcam-club-logo,.matchcam-partner-logo) {
  background:#fff !important;
  border-color:rgba(255,255,255,.86) !important;
}
body.matchcam-brand-v2 .matchcam-club-card h2,
body.matchcam-brand-v2 .matchcam-partner-card h3,
body.matchcam-brand-v2 .matchcam-clubs-empty strong { color:var(--matchcam-text) !important; }
body.matchcam-brand-v2 :is(.matchcam-club-partner,.matchcam-partner-label) { color:var(--matchcam-green) !important; }
body.matchcam-brand-v2 :is(.matchcam-club-city,.matchcam-club-description,.matchcam-partner-city,.matchcam-partner-meta,.matchcam-clubs-empty) {
  color:var(--matchcam-text-secondary) !important;
}
body.matchcam-brand-v2 :is(.matchcam-club-category,.matchcam-club-stat,.matchcam-partner-chip) {
  background:var(--matchcam-surface-2) !important;
  border-color:var(--matchcam-border) !important;
  color:var(--matchcam-text-secondary) !important;
}
body.matchcam-brand-v2 .matchcam-club-stat strong { color:var(--matchcam-text) !important; }
body.matchcam-brand-v2 .matchcam-club-stat span { color:var(--matchcam-text-secondary) !important; }

/* ---------- Core: Replays ---------- */
body.matchcam-brand-v2 :is(
  .matchcam-replay-card,
  .matchcam-replay-panel,
  .matchcam-access-option,
  .matchcam-related-card,
  .matchcam-stats-teaser,
  .matchcam-tv-help,
  .matchcam-tv-option,
  .matchcam-replay-empty,
  .matchcam-replay-account-link
) {
  background:var(--matchcam-surface) !important;
  border-color:var(--matchcam-border) !important;
  color:var(--matchcam-text) !important;
  box-shadow:var(--matchcam-glow) !important;
}
body.matchcam-brand-v2 .matchcam-replay-card:hover { background:var(--matchcam-surface-hover) !important; }
body.matchcam-brand-v2 .matchcam-replay-cover {
  background:linear-gradient(145deg,#071014,#0d2727) !important;
  border-color:rgba(85,246,100,.2) !important;
}
body.matchcam-brand-v2 :is(.matchcam-replay-card,.matchcam-replay-panel,.matchcam-access-option,.matchcam-related-card,.matchcam-stats-teaser,.matchcam-tv-help,.matchcam-tv-option) :is(h1,h2,h3,h4,strong) {
  color:var(--matchcam-text) !important;
}
body.matchcam-brand-v2 :is(
  .matchcam-replay-meta,
  .matchcam-replay-description,
  .matchcam-detail-meta,
  .matchcam-access-option-copy,
  .matchcam-related-card p,
  .matchcam-tv-help p,
  .matchcam-tv-option p,
  .matchcam-replay-price,
  .matchcam-resume-note
) { color:var(--matchcam-text-secondary) !important; }
body.matchcam-brand-v2 .matchcam-replay-club,
body.matchcam-brand-v2 .matchcam-access-option-price { color:var(--matchcam-green) !important; }
body.matchcam-brand-v2 :is(.matchcam-replay-score,.matchcam-detail-score,.matchcam-detail-meta span) {
  background:var(--matchcam-surface-2) !important;
  border-color:var(--matchcam-border) !important;
  color:var(--matchcam-text) !important;
}
body.matchcam-brand-v2 .matchcam-replay-filters {
  background:var(--matchcam-surface) !important;
  border-color:var(--matchcam-border) !important;
  box-shadow:none !important;
}
body.matchcam-brand-v2 .matchcam-replay-filters :is(input,select) {
  background:var(--matchcam-field) !important;
  border-color:#d0d5dd !important;
  color:var(--matchcam-field-text) !important;
}
body.matchcam-brand-v2 .matchcam-replay-filters :is(input,select):focus {
  border-color:var(--matchcam-green-deep) !important;
  box-shadow:0 0 0 3px rgba(85,246,100,.15) !important;
}

/* ---------- Core: Competitions ---------- */
body.matchcam-brand-v2 :is(
  .matchcam-category-group,
  .matchcam-empty,
  .matchcam-competition-filters,
  .matchcam-official-card,
  .matchcam-official-no-result
) {
  background:var(--matchcam-surface) !important;
  border-color:var(--matchcam-border) !important;
  color:var(--matchcam-text) !important;
  box-shadow:var(--matchcam-glow) !important;
}
body.matchcam-brand-v2 :is(.matchcam-section-title,.matchcam-category-group-head,.matchcam-official-section-head) :is(h2,h3),
body.matchcam-brand-v2 .matchcam-empty strong,
body.matchcam-brand-v2 .matchcam-official-no-result strong { color:var(--matchcam-text) !important; }
body.matchcam-brand-v2 :is(.matchcam-section-title,.matchcam-category-group-head,.matchcam-official-section-head) p,
body.matchcam-brand-v2 :is(.matchcam-empty,.matchcam-official-no-result),
body.matchcam-brand-v2 .matchcam-official-note { color:var(--matchcam-text-secondary) !important; }
body.matchcam-brand-v2 .matchcam-official-section { border-top-color:var(--matchcam-border) !important; }
body.matchcam-brand-v2 .matchcam-category-card,
body.matchcam-brand-v2 .matchcam-official-top {
  background:linear-gradient(145deg,#071014 0%,#0e2728 68%,#21472c 130%) !important;
  border-color:rgba(85,246,100,.24) !important;
  color:var(--matchcam-text) !important;
}
body.matchcam-brand-v2 .matchcam-category-card:after { background:rgba(85,246,100,.10) !important; }
body.matchcam-brand-v2 .matchcam-category-card :is(h4,.matchcam-category-source,.matchcam-category-count,.matchcam-category-action),
body.matchcam-brand-v2 .matchcam-official-top :is(h3,.matchcam-official-level,.matchcam-official-organization) {
  color:var(--matchcam-text) !important;
}
body.matchcam-brand-v2 :is(.matchcam-category-source,.matchcam-official-level,.matchcam-official-organization) {
  background:rgba(255,255,255,.08) !important;
  border-color:rgba(255,255,255,.18) !important;
}
body.matchcam-brand-v2 .matchcam-official-body { background:var(--matchcam-surface) !important; }
body.matchcam-brand-v2 .matchcam-official-meta span {
  background:var(--matchcam-surface-2) !important;
  color:var(--matchcam-text-secondary) !important;
}
/* Filters deliberately use white controls with dark text. */
body.matchcam-brand-v2 .matchcam-level-tab {
  background:var(--matchcam-field) !important;
  border-color:#d0d5dd !important;
  color:var(--matchcam-field-text) !important;
}
body.matchcam-brand-v2 .matchcam-level-tab.is-active {
  background:linear-gradient(135deg,var(--matchcam-green-light),var(--matchcam-green-deep)) !important;
  border-color:var(--matchcam-green) !important;
  color:#06100a !important;
}
body.matchcam-brand-v2 .matchcam-organization-select {
  background:var(--matchcam-field) !important;
  border-color:#d0d5dd !important;
  color:var(--matchcam-field-text) !important;
}
body.matchcam-brand-v2 .matchcam-official-count {
  background:rgba(85,246,100,.10) !important;
  color:var(--matchcam-green) !important;
}

/* ---------- Core: Home / pricing / access ---------- */
body.matchcam-brand-v2 .matchcam-home-hero { --mc-yellow:var(--matchcam-green); --mc-navy:#071014; }
body.matchcam-brand-v2 .matchcam-home-eyebrow { color:var(--matchcam-green) !important; }
body.matchcam-brand-v2 .matchcam-home-hero h1 { color:var(--matchcam-text) !important; }
body.matchcam-brand-v2 .matchcam-home-hero-lead,
body.matchcam-brand-v2 .matchcam-home-hero-meta { color:var(--matchcam-text-secondary) !important; }
body.matchcam-brand-v2 :is(.matchcam-home-access-card,.matchcam-home-plan) {
  background:var(--matchcam-surface) !important;
  border-color:var(--matchcam-border) !important;
  color:var(--matchcam-text) !important;
  box-shadow:var(--matchcam-glow) !important;
}
body.matchcam-brand-v2 :is(.matchcam-home-access-card,.matchcam-home-plan) :is(h2,h3,h4,.matchcam-home-access-title,.matchcam-home-plan-name,.matchcam-home-plan-price,strong) {
  color:var(--matchcam-text) !important;
}
body.matchcam-brand-v2 :is(.matchcam-home-access-copy,.matchcam-home-access-text,.matchcam-home-plan-summary,.matchcam-home-pricing-intro,.matchcam-home-pricing-note,.matchcam-home-plan-price span) {
  color:var(--matchcam-text-secondary) !important;
}
body.matchcam-brand-v2 .matchcam-home-plan-features li { color:var(--matchcam-text-secondary) !important; }
body.matchcam-brand-v2 .matchcam-home-plan-features li:before { background:rgba(85,246,100,.13) !important; color:var(--matchcam-green) !important; }
body.matchcam-brand-v2 .matchcam-home-pricing h2 { color:var(--matchcam-text) !important; }

/* ---------- Core: Auth / account / generic private cards ---------- */
body.matchcam-brand-v2 :is(
  .matchcam-auth-main,
  .matchcam-auth-aside,
  .matchcam-account-card,
  .matchcam-no-access-card,
  .matchcam-unattached-card,
  .matchcam-card,
  .matchcam-live-shell,
  .matchcam-resource-item,
  .matchcam-method-card
) {
  background:var(--matchcam-surface) !important;
  border-color:var(--matchcam-border) !important;
  color:var(--matchcam-text) !important;
  box-shadow:var(--matchcam-glow) !important;
}
body.matchcam-brand-v2 :is(.matchcam-auth-main,.matchcam-auth-aside,.matchcam-account-card,.matchcam-no-access-card,.matchcam-unattached-card,.matchcam-card,.matchcam-live-shell) :is(h1,h2,h3,h4,strong,label) {
  color:var(--matchcam-text) !important;
}
body.matchcam-brand-v2 :is(.matchcam-auth-intro,.matchcam-auth-aside-copy,.matchcam-account-muted,.matchcam-live-meta,.matchcam-unattached-card p) {
  color:var(--matchcam-text-secondary) !important;
}

/* ---------- Shared forms: WHITE field / DARK text ---------- */
body.matchcam-brand-v2 :is(
  .matchcam-auth-form,
  .matchcam-club-wrap,
  .matchcam-account,
  .matchcam-live-page,
  .mct-wrap,
  .mct-create-wrap,
  .mcp-coach-shell,
  .mcp-training-wrap,
  .mcp-library-detail,
  .mcp-shop-shell,
  .mcrdv-wrap
) :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea) {
  background:var(--matchcam-field) !important;
  border-color:#d0d5dd !important;
  color:var(--matchcam-field-text) !important;
  -webkit-text-fill-color:var(--matchcam-field-text) !important;
}
body.matchcam-brand-v2 :is(input,textarea)::placeholder { color:var(--matchcam-field-muted) !important; opacity:1 !important; }
body.matchcam-brand-v2 :is(
  .matchcam-auth-form,
  .matchcam-club-wrap,
  .matchcam-account,
  .matchcam-live-page,
  .mct-wrap,
  .mct-create-wrap,
  .mcp-coach-shell,
  .mcp-training-wrap,
  .mcp-library-detail,
  .mcp-shop-shell,
  .mcrdv-wrap
) :is(input,select,textarea):focus {
  border-color:var(--matchcam-green-deep) !important;
  box-shadow:0 0 0 3px rgba(85,246,100,.15) !important;
  outline:0 !important;
}

/* ---------- Shared buttons ---------- */
body.matchcam-brand-v2 :is(
  .matchcam-home-hero-button.is-primary,
  .matchcam-home-plan-button,
  .matchcam-account-button,
  .matchcam-auth-submit,
  .matchcam-replay-button,
  .matchcam-filter-button,
  .matchcam-club-action.primary,
  .matchcam-partner-button,
  .matchcam-official-link,
  .matchcam-purchase-button:not(.secondary),
  .matchcam-watch-button,
  .matchcam-live-button:not(.secondary),
  .matchcam-button,
  .matchcam-unattached-button,
  .mct-btn,
  .mct-replay,
  .mct-save-btn,
  .mct-card-cta,
  .mct-create-cta,
  .mcp-coach-button:not(.secondary):not(.danger),
  .mcp-training-submit,
  .mcp-card-open,
  .mcp-detail-buy,
  .mccp-btn-primary,
  .mcrdv-submit,
  button[type="submit"].matchcam-submit
) {
  background:linear-gradient(135deg,var(--matchcam-green-light),var(--matchcam-green-deep)) !important;
  border:1px solid rgba(141,247,53,.78) !important;
  color:#06100a !important;
  -webkit-text-fill-color:#06100a !important;
  box-shadow:0 10px 24px rgba(30,219,47,.16) !important;
  text-decoration:none !important;
}
body.matchcam-brand-v2 :is(
  .matchcam-home-hero-button.is-secondary,
  .matchcam-home-hero-button.is-tertiary,
  .matchcam-account-button.secondary,
  .matchcam-auth-secondary,
  .matchcam-filter-reset,
  .matchcam-club-action:not(.primary),
  .matchcam-purchase-button.secondary,
  .matchcam-live-button.secondary,
  .matchcam-unattached-button-secondary,
  .mct-card-cta-secondary,
  .mcp-coach-button.secondary,
  .mccp-btn-ghost,
  .mcrdv-floating
) {
  background:var(--matchcam-surface-2) !important;
  border:1px solid var(--matchcam-green-deep) !important;
  color:var(--matchcam-green-light) !important;
  -webkit-text-fill-color:var(--matchcam-green-light) !important;
  text-decoration:none !important;
}

/* ---------- Tournaments / Plateaux ---------- */
body.matchcam-brand-v2 :is(.mct-wrap,.mct-index-wrap,.mct-create-wrap) { color:var(--matchcam-text) !important; }
body.matchcam-brand-v2 :is(
  .mct-section,
  .mct-tournament-card,
  .mct-empty-card,
  .mct-create-card,
  .mct-create-login,
  .mct-create-success-card,
  .mct-result-row,
  .mct-ranking-card,
  .mct-award-card,
  .mct-category-block,
  .mct-match-card,
  .mct-live-ranking-wrap,
  .mct-created-private,
  .mct-award-options,
  .mct-match-award-entry
) {
  background:var(--matchcam-surface) !important;
  border-color:var(--matchcam-border) !important;
  color:var(--matchcam-text) !important;
  box-shadow:var(--matchcam-glow) !important;
}
body.matchcam-brand-v2 :is(
  .mct-section,
  .mct-tournament-card,
  .mct-create-card,
  .mct-create-login,
  .mct-create-success-card,
  .mct-ranking-card,
  .mct-award-card,
  .mct-category-block,
  .mct-match-card
) :is(h1,h2,h3,h4,strong,label,.mct-field>span) { color:var(--matchcam-text) !important; }
body.matchcam-brand-v2 :is(.mct-muted,.mct-card-date,.mct-card-location,.mct-card-format,.mct-match-meta,.mct-result-meta,.mct-create-card-head p,.mct-created-private small,.mct-award-help,.mct-award-card small) {
  color:var(--matchcam-text-secondary) !important;
}
body.matchcam-brand-v2 :is(.mct-index-eyebrow,.mct-kicker,.mct-award-kicker) { color:var(--matchcam-green) !important; }
body.matchcam-brand-v2 .mct-index-count,
body.matchcam-brand-v2 .mct-card-stats span,
body.matchcam-brand-v2 .mct-teams-counter,
body.matchcam-brand-v2 .mct-live-ranking-title,
body.matchcam-brand-v2 .mct-live-more {
  background:var(--matchcam-surface-2) !important;
  color:var(--matchcam-text-secondary) !important;
  border-color:var(--matchcam-border) !important;
}
body.matchcam-brand-v2 .mct-card-logo,
body.matchcam-brand-v2 .mct-side img {
  background:#fff !important;
  border-color:#d0d5dd !important;
}
body.matchcam-brand-v2 .mct-live-ranking-row { background:var(--matchcam-surface) !important; border-color:var(--matchcam-border) !important; }
body.matchcam-brand-v2 .mct-live-ranking-row.is-leader { background:rgba(85,246,100,.09) !important; }
body.matchcam-brand-v2 .mct-live-ranking-row :is(strong,.mct-live-rank,.mct-live-stars) { color:var(--matchcam-text) !important; }
body.matchcam-brand-v2 .mct-live-ranking-row small { color:var(--matchcam-text-secondary) !important; }
body.matchcam-brand-v2 .mct-create-card-head>span {
  background:var(--matchcam-green) !important;
  color:#06100a !important;
}
body.matchcam-brand-v2 .mct-created-private { background:var(--matchcam-surface-2) !important; }

/* Tournament forms are always light fields with dark text. */
body.matchcam-brand-v2 :is(.mct-field input,.mct-field select,.mct-create-card textarea,.mct-created-private input,.mct-player-award-pair select) {
  background:var(--matchcam-field) !important;
  color:var(--matchcam-field-text) !important;
  -webkit-text-fill-color:var(--matchcam-field-text) !important;
  border-color:#d0d5dd !important;
}
body.matchcam-brand-v2 :is(.mct-player-award-pair label,.mct-goalkeeper-choice label) {
  background:var(--matchcam-surface-2) !important;
  border-color:var(--matchcam-border) !important;
  color:var(--matchcam-text) !important;
}

/* QR must stay plain black/white. */
body.matchcam-brand-v2 :is(.mct-qr-section,.mct-qr,img[alt*="QR" i]) { filter:none !important; }
body.matchcam-brand-v2 :is(.mct-qr-section img,.mct-qr,img[alt*="QR code" i]) {
  background:#fff !important;
  padding:10px !important;
  border:1px solid #d8dee5 !important;
  border-radius:10px !important;
  box-shadow:none !important;
}

/* ---------- Players / Coach ---------- */
body.matchcam-brand-v2.mcp-coach-app { background:var(--matchcam-bg) !important; }
body.matchcam-brand-v2 .mcp-coach-shell { color:var(--matchcam-text) !important; }
body.matchcam-brand-v2 :is(
  .mcp-coach-card,
  .mcp-coach-login-card,
  .mcp-coach-account-card,
  .mcp-coach-identity-card,
  .mcp-coach-player,
  .mcp-training-panel,
  .mcp-day-card,
  .mcp-day-session,
  .mcp-exercise-card,
  .mcp-source-card,
  .mcp-family-card,
  .mcp-library-card,
  .mcp-library-detail,
  .mcp-tool,
  .mcp-convocation-box,
  .mcp-club-coach-box
) {
  background:var(--matchcam-surface) !important;
  border-color:var(--matchcam-border) !important;
  color:var(--matchcam-text) !important;
  box-shadow:var(--matchcam-glow) !important;
}
body.matchcam-brand-v2 :is(.mcp-coach-card,.mcp-coach-login-card,.mcp-coach-account-card,.mcp-coach-player,.mcp-training-panel,.mcp-exercise-card,.mcp-source-card,.mcp-library-card,.mcp-library-detail) :is(h1,h2,h3,h4,strong,label) {
  color:var(--matchcam-text) !important;
}
body.matchcam-brand-v2 :is(.mcp-coach-card p,.mcp-coach-help,.mcp-coach-player>span,.mcp-training-notes,.mcp-library-source-preview,.mcp-source-age) {
  color:var(--matchcam-text-secondary) !important;
}
body.matchcam-brand-v2 :is(.mcp-coach-teamline,.mcp-coach-scope-form,.mcp-coach-match-list a,.mcp-sequence-row,.mcp-training-catlist a,.mcp-exercise-card dl div,.mcp-period-nav,.mcp-convocation-grid label,.mcp-library-family-tabs a,.mcp-library-pagination .page-numbers) {
  background:var(--matchcam-surface-2) !important;
  border-color:var(--matchcam-border) !important;
  color:var(--matchcam-text) !important;
}
body.matchcam-brand-v2 .mcp-coach-teamline span { background:var(--matchcam-green) !important; color:#06100a !important; }
body.matchcam-brand-v2 .mcp-coach-match-list span { color:var(--matchcam-text-secondary) !important; }

/* ---------- PWA / cookies / WooCommerce ---------- */
body.matchcam-brand-v2 :is(.mcpwa-installbar,.mcpwa-modal__panel,.cmplz-cookiebanner) {
  background:var(--matchcam-bg-secondary) !important;
  border-color:var(--matchcam-border) !important;
  color:var(--matchcam-text) !important;
  box-shadow:var(--matchcam-shadow) !important;
}
body.matchcam-brand-v2 .cmplz-cookiebanner :is(.cmplz-title,.cmplz-message,.cmplz-category-title) { color:var(--matchcam-text) !important; }
body.matchcam-brand-v2 .cmplz-cookiebanner .cmplz-btn.cmplz-accept { background:var(--matchcam-green) !important; color:#06100a !important; }
body.matchcam-brand-v2 .cmplz-cookiebanner .cmplz-btn:not(.cmplz-accept) { background:var(--matchcam-surface) !important; border-color:var(--matchcam-border) !important; color:var(--matchcam-text) !important; }
body.matchcam-brand-v2.woocommerce,
body.matchcam-brand-v2.woocommerce-page { background:var(--matchcam-bg) !important; }
body.matchcam-brand-v2.woocommerce :where(.product,.cart_totals,form.checkout,.woocommerce-MyAccount-content,.woocommerce-MyAccount-navigation) { color:var(--matchcam-text); }
body.matchcam-brand-v2.woocommerce :where(table.shop_table,.cart_totals,form.checkout,.woocommerce-MyAccount-content) { background:var(--matchcam-surface) !important; border-color:var(--matchcam-border) !important; }
body.matchcam-brand-v2.woocommerce :where(.button,button.button,a.button,input.button) { background:var(--matchcam-green) !important; color:#06100a !important; }

/* ---------- Focus / states ---------- */
body.matchcam-brand-v2 :is(a,button,input,select,textarea):focus-visible {
  outline:3px solid rgba(85,246,100,.78) !important;
  outline-offset:3px !important;
}
body.matchcam-brand-v2 :is(button,input,select,textarea):disabled,
body.matchcam-brand-v2 .disabled,
body.matchcam-brand-v2 [aria-disabled="true"] { opacity:.55; }

/* ---------- Mobile navigation: no white submenu boxes ---------- */
@media (max-width:782px) {
  body.matchcam-brand-v2 .site-header .hostinger-ai-menu-wrapper {
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:16px;
    padding-top:14px !important;
    padding-bottom:14px !important;
  }
  body.matchcam-brand-v2 .site-header .wp-block-site-logo img,
  body.matchcam-brand-v2 .site-header img.custom-logo { width:min(220px,58vw) !important; }
  body.matchcam-brand-v2 .site-header .wp-block-navigation__responsive-container.is-menu-open {
    background:#071014 !important;
    padding:28px 22px !important;
  }
  body.matchcam-brand-v2 .site-header .wp-block-navigation__responsive-container-content { padding-top:48px !important; }
  body.matchcam-brand-v2 .site-header .wp-block-navigation__responsive-container-content .wp-block-navigation__container,
  body.matchcam-brand-v2 .site-header .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container {
    width:100% !important;
    gap:6px !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
  }
  body.matchcam-brand-v2 .site-header .wp-block-navigation__responsive-container-content .wp-block-navigation-item {
    width:100% !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
  }
  body.matchcam-brand-v2 .site-header .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content {
    display:block !important;
    width:100% !important;
    padding:11px 6px !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    color:var(--matchcam-text) !important;
    -webkit-text-fill-color:var(--matchcam-text) !important;
  }
  body.matchcam-brand-v2 .site-header .wp-block-navigation__responsive-container-content .current-menu-item > .wp-block-navigation-item__content {
    color:var(--matchcam-green) !important;
    -webkit-text-fill-color:var(--matchcam-green) !important;
  }
}

@media (max-width:520px) {
  body.matchcam-brand-v2 .site-header .wp-block-site-logo img,
  body.matchcam-brand-v2 .site-header img.custom-logo { width:min(188px,58vw) !important; }
  body.matchcam-brand-v2 .matchcam-brand-footer-logo { width:min(280px,calc(100% - 36px)); }
}

@media (prefers-reduced-motion:reduce) {
  body.matchcam-brand-v2 *,
  body.matchcam-brand-v2 *::before,
  body.matchcam-brand-v2 *::after {
    scroll-behavior:auto !important;
    transition-duration:.01ms !important;
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
  }
}

/* ---------- Core: Home access / pricing containers ---------- */
body.matchcam-brand-v2 .matchcam-home-access-icon {
  background:var(--matchcam-surface-2) !important;
  border-color:var(--matchcam-border) !important;
  color:var(--matchcam-green) !important;
  box-shadow:none !important;
}
body.matchcam-brand-v2 .matchcam-home-access-card:before {
  background:linear-gradient(90deg,var(--matchcam-green-deep),var(--matchcam-green-light)) !important;
}
body.matchcam-brand-v2 .matchcam-home-access-card:after {
  background:radial-gradient(circle,rgba(85,246,100,.12),rgba(85,246,100,0) 69%) !important;
}
body.matchcam-brand-v2 .matchcam-home-access-link { color:var(--matchcam-green) !important; }
body.matchcam-brand-v2 .matchcam-home-pricing {
  background:
    radial-gradient(circle at 100% 0,rgba(85,246,100,.10),transparent 28%),
    linear-gradient(180deg,#081115,#0b171d) !important;
  border-color:var(--matchcam-border) !important;
  color:var(--matchcam-text) !important;
  box-shadow:var(--matchcam-shadow) !important;
}
body.matchcam-brand-v2 .matchcam-home-pricing .matchcam-home-pricing-head { color:var(--matchcam-text) !important; }
body.matchcam-brand-v2 .matchcam-home-pricing-kicker { color:var(--matchcam-green) !important; }
body.matchcam-brand-v2 .matchcam-home-pricing-kicker:before,
body.matchcam-brand-v2 .matchcam-home-pricing-kicker:after { background:var(--matchcam-green) !important; }
body.matchcam-brand-v2 .matchcam-home-pricing h2 { color:var(--matchcam-text) !important; }
body.matchcam-brand-v2 .matchcam-home-pricing-intro,
body.matchcam-brand-v2 .matchcam-home-pricing-note { color:var(--matchcam-text-secondary) !important; }
body.matchcam-brand-v2 .matchcam-home-plan:before,
body.matchcam-brand-v2 .matchcam-home-plan.is-family:before {
  background:linear-gradient(90deg,var(--matchcam-green-deep),var(--matchcam-green-light)) !important;
}
body.matchcam-brand-v2 .matchcam-home-plan.is-family {
  background:var(--matchcam-surface) !important;
  border-color:rgba(85,246,100,.45) !important;
}
body.matchcam-brand-v2 .matchcam-home-plan-badge {
  background:rgba(85,246,100,.12) !important;
  color:var(--matchcam-green-light) !important;
}

/* ---------- Core: Partners ---------- */
body.matchcam-brand-v2 .matchcam-partners-home {
  background:linear-gradient(180deg,#081115,#0b171d) !important;
  border-color:var(--matchcam-border) !important;
  color:var(--matchcam-text) !important;
  box-shadow:var(--matchcam-shadow) !important;
}
body.matchcam-brand-v2 .matchcam-partners-head {
  background:var(--matchcam-surface) !important;
  border-color:var(--matchcam-border) !important;
  box-shadow:var(--matchcam-glow) !important;
}
body.matchcam-brand-v2 .matchcam-partners-kicker { color:var(--matchcam-green) !important; }
body.matchcam-brand-v2 .matchcam-partners-head h2 { color:var(--matchcam-text) !important; }
body.matchcam-brand-v2 .matchcam-partners-head p { color:var(--matchcam-text-secondary) !important; }
body.matchcam-brand-v2 .matchcam-partner-cta {
  background:var(--matchcam-surface) !important;
  border-color:rgba(85,246,100,.35) !important;
}
body.matchcam-brand-v2 .matchcam-partner-cta .matchcam-partner-visual {
  background:linear-gradient(145deg,#071014,#0f2527) !important;
}

/* ---------- Core: Highlights ---------- */
body.matchcam-brand-v2 .matchcam-highlights:not(.compact) {
  background:linear-gradient(180deg,#071014 0%,#09151a 100%) !important;
}
body.matchcam-brand-v2 .matchcam-highlights-head {
  background:
    radial-gradient(circle at 84% 18%,rgba(85,246,100,.13),transparent 34%),
    linear-gradient(135deg,#05090c 0%,#0b171d 58%,#123329 100%) !important;
  border-color:rgba(85,246,100,.28) !important;
  box-shadow:var(--matchcam-shadow),var(--matchcam-glow) !important;
}
body.matchcam-brand-v2 .matchcam-highlights-kicker { color:var(--matchcam-green) !important; }
body.matchcam-brand-v2 .matchcam-highlights-head :is(h1,h2) { color:var(--matchcam-text) !important; }
body.matchcam-brand-v2 .matchcam-highlights-head p { color:var(--matchcam-text-secondary) !important; }
body.matchcam-brand-v2 .matchcam-highlight-filters,
body.matchcam-brand-v2 .matchcam-highlight-card,
body.matchcam-brand-v2 .matchcam-highlight-empty {
  background:var(--matchcam-surface) !important;
  border-color:var(--matchcam-border) !important;
  color:var(--matchcam-text) !important;
  box-shadow:var(--matchcam-glow) !important;
}
body.matchcam-brand-v2 .matchcam-highlight-card h3 { color:var(--matchcam-text) !important; }
body.matchcam-brand-v2 .matchcam-highlight-club { color:var(--matchcam-green) !important; }
body.matchcam-brand-v2 .matchcam-highlight-meta,
body.matchcam-brand-v2 .matchcam-highlight-empty { color:var(--matchcam-text-secondary) !important; }
body.matchcam-brand-v2 .matchcam-highlight-filters :is(input,select) {
  background:var(--matchcam-field) !important;
  color:var(--matchcam-field-text) !important;
  -webkit-text-fill-color:var(--matchcam-field-text) !important;
  border-color:#d0d5dd !important;
}
body.matchcam-brand-v2 :is(.matchcam-highlight-filter-button,.matchcam-highlight-button,.matchcam-highlights-all) {
  background:linear-gradient(135deg,var(--matchcam-green-light),var(--matchcam-green-deep)) !important;
  color:#06100a !important;
  -webkit-text-fill-color:#06100a !important;
}
body.matchcam-brand-v2 .matchcam-highlight-filter-reset { color:var(--matchcam-green-light) !important; }

/* ---------- Typography safety inside components that are explicitly dark ---------- */
body.matchcam-brand-v2 .matchcam-card p,
body.matchcam-brand-v2 .matchcam-account-card p,
body.matchcam-brand-v2 .matchcam-no-access-card p,
body.matchcam-brand-v2 .matchcam-auth-main p,
body.matchcam-brand-v2 .matchcam-auth-aside p {
  color:var(--matchcam-text-secondary) !important;
}
body.matchcam-brand-v2 .matchcam-card .matchcam-section-head { border-bottom-color:var(--matchcam-border) !important; }
body.matchcam-brand-v2 .matchcam-section-kicker,
body.matchcam-brand-v2 .matchcam-no-access-kicker { color:var(--matchcam-green) !important; }
body.matchcam-brand-v2 .matchcam-auth-brand { color:var(--matchcam-text) !important; }
body.matchcam-brand-v2 .matchcam-auth-brand-mark { background:var(--matchcam-green) !important; }
body.matchcam-brand-v2 .matchcam-auth-tabs {
  background:var(--matchcam-surface-2) !important;
}
body.matchcam-brand-v2 .matchcam-auth-tabs a {
  color:var(--matchcam-text-secondary) !important;
}
body.matchcam-brand-v2 .matchcam-auth-tabs a.active {
  background:rgba(85,246,100,.12) !important;
  color:var(--matchcam-green-light) !important;
  box-shadow:none !important;
}
body.matchcam-brand-v2 .matchcam-account-kicker { color:var(--matchcam-green) !important; }
body.matchcam-brand-v2 .matchcam-account-value { color:var(--matchcam-text) !important; }
body.matchcam-brand-v2 .matchcam-account-table :is(th,td) { border-color:var(--matchcam-border) !important; }
body.matchcam-brand-v2 .matchcam-account-table th {
  background:var(--matchcam-surface-2) !important;
  color:var(--matchcam-text) !important;
}
body.matchcam-brand-v2 .matchcam-account-table td {
  background:var(--matchcam-surface) !important;
  color:var(--matchcam-text-secondary) !important;
}
body.matchcam-brand-v2 .matchcam-account-table td:before { color:var(--matchcam-text-secondary) !important; }
body.matchcam-brand-v2 .matchcam-account-quick-actions a {
  background:var(--matchcam-field) !important;
  color:var(--matchcam-field-text) !important;
  -webkit-text-fill-color:var(--matchcam-field-text) !important;
}
body.matchcam-brand-v2 .matchcam-account-quick-actions a.secondary {
  background:var(--matchcam-surface-2) !important;
  color:var(--matchcam-text) !important;
  -webkit-text-fill-color:var(--matchcam-text) !important;
  border-color:var(--matchcam-border) !important;
}
body.matchcam-brand-v2 .matchcam-account-guide-badge {
  background:var(--matchcam-green) !important;
  color:#06100a !important;
}

/* Responsive navigation overlay is dark by construction, regardless of theme defaults. */
body.matchcam-brand-v2 .site-header .wp-block-navigation__responsive-container.is-menu-open {
  background:#071014 !important;
  color:var(--matchcam-text) !important;
}
body.matchcam-brand-v2 .site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container,
body.matchcam-brand-v2 .site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
  background:transparent !important;
  border-color:transparent !important;
  box-shadow:none !important;
}
body.matchcam-brand-v2 .site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
  background:transparent !important;
  border-color:transparent !important;
  box-shadow:none !important;
  color:var(--matchcam-text) !important;
  -webkit-text-fill-color:var(--matchcam-text) !important;
}
body.matchcam-brand-v2 .site-header .wp-block-navigation__responsive-container.is-menu-open .current-menu-item > .wp-block-navigation-item__content {
  color:var(--matchcam-green) !important;
  -webkit-text-fill-color:var(--matchcam-green) !important;
}

/* ==========================================================
 * MatchCam 0.2.1 - Mobile menu only
 * The Hostinger/WordPress responsive dialog can be portalled
 * outside .site-header. Target the WordPress menu itself.
 * No other component is changed here.
 * ========================================================== */
@media (max-width: 782px) {
  body.matchcam-brand-v2 .wp-block-navigation__responsive-container.is-menu-open,
  body.matchcam-brand-v2 .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog,
  body.matchcam-brand-v2 .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    background: #071014 !important;
    color: var(--matchcam-text) !important;
  }

  body.matchcam-brand-v2 .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
  body.matchcam-brand-v2 .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container,
  body.matchcam-brand-v2 .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item,
  body.matchcam-brand-v2 .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.has-child,
  body.matchcam-brand-v2 .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu {
    background: transparent !important;
    background-color: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
  }

  body.matchcam-brand-v2 .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content,
  body.matchcam-brand-v2 .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__label,
  body.matchcam-brand-v2 .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle,
  body.matchcam-brand-v2 .wp-block-navigation__responsive-container.is-menu-open a {
    color: var(--matchcam-text) !important;
    -webkit-text-fill-color: var(--matchcam-text) !important;
  }

  body.matchcam-brand-v2 .wp-block-navigation__responsive-container.is-menu-open .current-menu-item > .wp-block-navigation-item__content,
  body.matchcam-brand-v2 .wp-block-navigation__responsive-container.is-menu-open .current-menu-item > a,
  body.matchcam-brand-v2 .wp-block-navigation__responsive-container.is-menu-open .current-menu-ancestor > .wp-block-navigation-item__content {
    color: var(--matchcam-green) !important;
    -webkit-text-fill-color: var(--matchcam-green) !important;
  }

  body.matchcam-brand-v2 .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close,
  body.matchcam-brand-v2 .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close svg,
  body.matchcam-brand-v2 .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close path {
    color: var(--matchcam-text) !important;
    fill: currentColor !important;
    stroke: currentColor !important;
  }
}
