/* =========================================================
   TOOMUCH / RACEVIPCLUB — CLEAN MASTER CSS (REWORKED)
   Replace your entire CSS with this file
   ========================================================= */

/* =========================
   FONTS + TYPOGRAPHY (modern)
   ========================= */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&amp;display=swap');

:root {
  --font-main: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  --text-primary: #f5f7fa;
  --text-secondary: #b7c0cc;
  --text-muted: #8b93a1;

  --neon: rgba(225, 6, 0, 1);
  --neon-2: rgba(255, 212, 0, 1);
}

/* Base */
body {
  font-family: var(--font-main) !important;
  font-weight: 400 !important;
  color: var(--text-primary) !important;
  line-height: 1.55 !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4 {
  font-family: var(--font-main) !important;
  font-weight: 600 !important;
  letter-spacing: -0.015em !important;
  line-height: 1.15 !important;
  color: #ffffff !important;
}

h1 { font-size: clamp(32px, 4vw, 44px) !important; }
h2 { font-size: clamp(24px, 3vw, 32px) !important; }
h3 { font-size: 20px !important; }
h4 { font-size: 17px !important; }

.meta,
.post-date {
  font-family: var(--font-main) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: var(--text-muted) !important;
}

/* =========================
   NEON BUTTON (base)
   ========================= */
.cs_btn.cs_style_1 {
  position: relative;
  padding: 16px 34px;
  border-radius: 999px;
  background: #0b0b0b;
  color: #ffffff;
  font-weight: 600;
  letter-spacing: 0.3px;
  text-decoration: none;
  border: 1px solid rgba(225, 6, 0, 0.45);
  box-shadow:
    0 0 20px rgba(225, 6, 0, 0.35),
    inset 0 0 12px rgba(225, 6, 0, 0.25);
  transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
  overflow: hidden;
}

.cs_btn.cs_style_1::before {
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: inherit;
  background: linear-gradient(
    120deg,
    rgba(225, 6, 0, 0.9),
    rgba(255, 212, 0, 0.6),
    rgba(225, 6, 0, 0.9)
  );
  filter: blur(14px);
  opacity: 0.6;
  z-index: -1;
}

.cs_btn.cs_style_1:hover {
  color: #fff;
  transform: translateY(-1px);
  box-shadow:
    0 0 32px rgba(225, 6, 0, 0.75),
    inset 0 0 16px rgba(225, 6, 0, 0.45);
  border-color: rgba(255, 212, 0, 0.9);
}

.cs_btn.cs_style_1:active {
  transform: translateY(0);
  box-shadow:
    0 0 18px rgba(225, 6, 0, 0.5),
    inset 0 0 18px rgba(225, 6, 0, 0.6);
}

.cs_btn.cs_style_1 span {
  background: transparent !important;
  box-shadow: none !important;
}

/* =========================
   MENU SPACING
   ========================= */
.cs_nav_list { gap: 16px !important; }

/* Header nav links */
.cs_nav_list a {
  position: relative;
  display: inline-block;
  padding: 10px 12px;
  border-radius: 999px;
  color: rgba(255,255,255,.86);
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 12px;
  line-height: 1.2 !important;
  transition: color .25s ease, text-shadow .25s ease, background .25s ease, transform .25s ease;
  background: transparent;
}

.cs_nav_list a::after {
  content: "";
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 6px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg,
    rgba(225, 6, 0, 0.0),
    rgba(225, 6, 0, 0.95),
    rgba(255, 212, 0, 0.75),
    rgba(225, 6, 0, 0.95),
    rgba(225, 6, 0, 0.0)
  );
  transform: scaleX(0);
  transform-origin: center;
  opacity: 0;
  transition: transform .25s ease, opacity .25s ease;
}

.cs_nav_list a:hover::after {
  transform: scaleX(1);
  opacity: 1;
}

/* Current menu item */
.cs_nav_list .current-menu-item &gt; a,
.cs_nav_list .current_page_item &gt; a,
.cs_nav_list .current-menu-ancestor &gt; a {
  color: #fff;
  background: rgba(225, 6, 0, 0.16);
  box-shadow:
    0 0 18px rgba(225, 6, 0, 0.35),
    inset 0 0 10px rgba(225, 6, 0, 0.18);
  text-shadow:
    0 0 14px rgba(225, 6, 0, 0.85),
    0 0 26px rgba(255, 212, 0, 0.65);
}

.cs_nav_list .current-menu-item &gt; a::after,
.cs_nav_list .current_page_item &gt; a::after,
.cs_nav_list .current-menu-ancestor &gt; a::after {
  transform: scaleX(1);
  opacity: 1;
  animation: tmNavGlow 1.8s ease-in-out infinite;
}

@keyframes tmNavGlow {
  0%, 100% { filter: blur(0px); opacity: .9; }
  50% { filter: blur(1.2px); opacity: 1; }
}

/* =========================
   RSS TICKER
   ========================= */
.tm_rss_ticker_wrap {
  background: linear-gradient(90deg, rgba(0,0,0,.65), rgba(24, 24, 24, .35), rgba(0,0,0,.65));
  border-bottom: 1px solid rgba(225, 6, 0, .14);
  position: relative;
  z-index: 1000;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.tm_rss_label { color: rgba(255,255,255,.75); }
.tm_rss_item_link { text-shadow: 0 0 14px rgba(225, 6, 0, .22); }

/* =========================
   HEADER (clean)
   ========================= */
.cs_site_header,
.cs_header,
header {
  position: relative;
  z-index: 1500;
  margin-top: 32px;
  padding-top: 17px !important;
  padding-bottom: 9px !important;
}

.cs_main_header_in {
  min-height: 56px !important;
  gap: 14px !important;
  align-items: center;
}

.cs_site_branding img {
  height: 46px !important;
  width: auto;
}

/* Header button size */
.cs_site_header .cs_btn.cs_style_1,
.cs_header .cs_btn.cs_style_1,
header .cs_btn.cs_style_1 {
  padding: 12px 22px !important;
  font-size: 13px !important;
  line-height: 1 !important;
}

header .cs_btn.cs_style_1 i,
header .cs_btn.cs_style_1 svg {
  transform: translateY(1px);
}

/* =========================
   HEADER SIZE (final)
   ========================= */
#tm-site-header .cs_main_header{
  padding-top: 0px !important;
  padding-bottom: 0px !important;
  min-height: 56px !important;
}

#tm-site-header .cs_main_header_in{
  min-height: 56px !important;
  align-items: center;
}

#tm-site-header .cs_nav_list &gt; li &gt; a{
  padding: 8px 14px !important;
  line-height: 1.1 !important;
  font-size: 13px !important;
}

#tm-site-header .cs_btn{
  padding: 10px 20px !important;
  min-height: 42px !important;
  font-size: 13px !important;
}

#tm-site-header .container{
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* =========================
   DISABLE STICKY HEADER
   ========================= */
#tm-site-header,
#tm-site-header.cs_sticky_header,
#tm-site-header .cs_main_header{
  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  z-index: auto !important;
  transform: none !important;
}

#tm-site-header.is-sticky,
#tm-site-header.fixed,
#tm-site-header.sticky,
#tm-site-header.cs_sticky_active,
#tm-site-header.cs_sticky,
.cs_sticky_header.active,
.cs_sticky_header.is-sticky{
  position: static !important;
  top: auto !important;
}

body{ padding-top: 0 !important; }
html{ scroll-padding-top: 0 !important; }

.cs_sticky_header + .cs_site_header_spacer,
.cs_sticky_placeholder,
.cs_sticky_spacer,
#tm-site-header + .cs_height_80,
#tm-site-header + .cs_height_70,
#tm-site-header + .cs_height_60{
  height: 0 !important;
  display: none !important;
}

/* =========================
   HEADER LOGO OVERLAY (desktop)
   ========================= */
#tm-site-header .cs_site_branding{
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1;
}

#tm-site-header .cs_site_branding img{
  width: 252px !important;
  height: 152px !important;
  max-width: none !important;
  opacity: .72;
  mix-blend-mode: screen;
  filter: saturate(1.12) contrast(1.05);
  border-radius: 18px !important;
  background: transparent !important;
  box-shadow: 0 10px 26px rgba(0,0,0,.25) !important;
  transform: translateZ(0);
}

#tm-site-header .cs_site_branding::after{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius: 22px;
  pointer-events:none;
  background:
    radial-gradient(circle at 30% 20%, rgba(255,200,90,.22), transparent 55%),
    radial-gradient(circle at 70% 50%, rgba(255, 212, 0, .22), transparent 60%),
    radial-gradient(circle at 50% 85%, rgba(70,175,255,.18), transparent 55%);
  opacity: .65;
  filter: blur(100px);
}

/* =========================
   RSS -&gt; HERO GAP REMOVAL
   ========================= */
#home,
#home.cs_shape_wrap{
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.tm_rss_ticker_wrap + .cs_height_120,
.tm_rss_ticker_wrap + .cs_height_100,
.tm_rss_ticker_wrap + .cs_height_90,
.tm_rss_ticker_wrap + .cs_height_80,
.tm_rss_ticker_wrap + .cs_height_70,
.tm_rss_ticker_wrap + .cs_height_60,
.tm_rss_ticker_wrap + .cs_height_50,
.tm_rss_ticker_wrap + .cs_height_40,
.tm_rss_ticker_wrap + .cs_height_30{
  display: none !important;
  height: 0 !important;
}

#home .cs_height_120:first-child,
#home .cs_height_100:first-child,
#home .cs_height_90:first-child,
#home .cs_height_80:first-child,
#home .cs_height_70:first-child,
#home .cs_height_60:first-child{
  display: none !important;
  height: 0 !important;
}

.tm_rss_ticker_wrap .container,
#home &gt; .container{
  padding-top: 0 !important;
}

/* Premium overlap (desktop only) */
@media (min-width: 992px){
  #home{ margin-top: -8px !important; }
}

/* =========================
   HERO SIDE BADGES
   ========================= */
.tm_hero_side_badge {
  padding: 4px 10px !important;
  font-size: 10px !important;
  letter-spacing: .14em !important;
  margin-bottom: 6px !important;
  opacity: .85;
}

.tm_hero_tagline {
  margin-top: 6px !important;
  font-size: 11px !important;
  letter-spacing: .14em !important;
  opacity: .7;
}

.tm_hero_side { margin-top: 12px; }

/* =========================
   FILTERS TOGGLE BUTTON (smaller)
   ========================= */
.tm_filters_toggle_row .cs_btn.cs_style_1 {
  padding: 8px 14px !important;
  font-size: 11px !important;
  letter-spacing: 0.12em;
  min-height: auto;
}

.tm_filters_toggle_row .cs_btn.cs_style_1::before {
  inset: -1px;
  filter: blur(10px);
  opacity: 0.45;
}

/* =========================
   FOOTER SPACING
   ========================= */
footer,
.site-footer,
.cs_footer,
.cs_site_footer,
#colophon {
  padding-top: 24px !important;
  padding-bottom: 10px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

footer .footer-bottom,
footer .site-info,
.cs_footer_bottom,
.cs_footer_bottom_in,
#colophon .site-info {
  padding-top: 10px !important;
  padding-bottom: 6px !important;
  margin: 0 !important;
}

footer .widget,
footer .widget-area,
.cs_footer_widget,
.cs_footer_widget_area,
.cs_footer_main,
.cs_footer_top {
  margin-bottom: 10px !important;
  padding-bottom: 0 !important;
}

main &gt; :last-child,
.cs_site_content &gt; :last-child,
.cs_main_content &gt; :last-child,
.elementor-section-wrap &gt; :last-child,
.elementor &gt; :last-child {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

html, body { height: auto; }
body { padding-bottom: 0 !important; }

#page,
.site,
.cs_site_wrap,
.cs_site_content {
  padding-bottom: 0 !important;
}

/* =========================
   ROADMAP HIDDEN
   ========================= */
#roadmap { display: none !important; }

/* =========================
   CARDS ALIGNMENT
   ========================= */
.tm_download_card,
.tm_prize_card,
.cs_card {
  display: flex;
  flex-direction: column;
}

.tm_download_card .cs_btn.cs_style_1,
.tm_prize_card .cs_btn.cs_style_1,
.cs_card .cs_btn.cs_style_1 {
  margin-top: auto;
  min-height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1.2 !important;
}

/* News cards (if used) */
.news-card h3{
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
  margin-bottom: 8px !important;
}
.news-card p{
  font-size: 14.5px !important;
  color: var(--text-secondary) !important;
  line-height: 1.6 !important;
}

/* =========================
   CALCULATOR PAGE: REMOVE HUGE GAP UNDER TITLE
   ========================= */
.cs_page_heading,
.cs_page_title,
.cs_page_title_wrap,
.cs_breadcrumb_wrap,
.cs_page_header,
.page-header,
.entry-header{
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

.cs_page_heading h1,
.cs_page_title h1,
.page-header h1,
.entry-header h1{
  margin-bottom: 14px !important;
}

/* Kill theme spacer blocks globally (careful but you requested) */
.cs_height_10, .cs_height_20, .cs_height_30, .cs_height_40, .cs_height_50,
.cs_height_60, .cs_height_70, .cs_height_80, .cs_height_90, .cs_height_100,
.cs_height_110, .cs_height_120{
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.cs_height_10:empty, .cs_height_20:empty, .cs_height_30:empty, .cs_height_40:empty,
.cs_height_50:empty, .cs_height_60:empty, .cs_height_70:empty, .cs_height_80:empty,
.cs_height_90:empty, .cs_height_100:empty, .cs_height_110:empty, .cs_height_120:empty{
  display: none !important;
}

.cs_site_content,
.cs_main_content,
.site-content,
#content,
main{
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.cs_site_content &gt; .container:first-child,
.cs_main_content &gt; .container:first-child,
main &gt; .container:first-child,
main &gt; section:first-child,
main &gt; .elementor-section:first-child,
.elementor-section-wrap &gt; section:first-child{
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.tm_calculator_wrap,
.tm_calc_wrap,
.tm_strategy_wrap,
.cs_card_row,
.cs_row,
.elementor-section .elementor-container{
  margin-top: -20px !important;
}

@media (max-width: 991px){
  .tm_calculator_wrap,
  .tm_calc_wrap,
  .tm_strategy_wrap,
  .cs_card_row,
  .cs_row,
  .elementor-section .elementor-container{
    margin-top: -26px !important;
  }
}

/* =========================
   HEADER MENU BUTTONS — CLEAN &amp; HARMONIC
   ========================= */
#tm-site-header .cs_btn.cs_style_1{
  padding: 8px 16px !important;
  min-height: 36px !important;
  font-size: 12px !important;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  border-radius: 999px;

  background: rgba(20,20,30,.65) !important;
  border: 1px solid rgba(225,6,0,.20) !important;

  box-shadow:
    inset 0 0 8px rgba(225, 6, 0, .12),
    0 0 10px rgba(225, 6, 0, .18) !important;

  backdrop-filter: blur(6px);
  transition: all .25s ease;
}

/* Hover — аккуратный */
#tm-site-header .cs_btn.cs_style_1:hover{
  background: rgba(30,20,50,.75) !important;
  box-shadow:
    inset 0 0 10px rgba(225, 6, 0, .22),
    0 0 14px rgba(225, 6, 0, .35) !important;
  transform: translateY(-1px);
}

/* Active */
#tm-site-header .cs_btn.cs_style_1:active{
  transform: translateY(0);
  box-shadow:
    inset 0 0 12px rgba(225, 6, 0, .35),
    0 0 10px rgba(225, 6, 0, .25) !important;
}

/* Убираем жирный glow ::before только в хедере */
#tm-site-header .cs_btn.cs_style_1::before{
  display: none !important;
}

/* AI STRATEGY — мягкий акцент */
#tm-site-header .cs_btn.cs_style_1.ai-strategy,
#tm-site-header .cs_btn.cs_style_1[href*="strategy"]{
  background: rgba(225, 6, 0, .55) !important;
  border-color: rgba(255, 212, 0, .55) !important;
}

/* DISCORD — спокойная secondary */
#tm-site-header .cs_btn.cs_style_1.discord,
#tm-site-header .cs_btn.cs_style_1[href*="discord"]{
  background: rgba(20,20,20,.55) !important;
  border-color: rgba(255,255,255,.18) !important;
  box-shadow:
    inset 0 0 6px rgba(255,255,255,.06),
    0 0 6px rgba(255,255,255,.12) !important;
}

/* =========================
   LEADERBOARD — SMALL MOBILE (show only # + Driver + Best lap)
   ========================= */
@media (max-width: 480px){

  #tm-leaderboard-table{
    width: 100% !important;
    table-layout: fixed !important;
  }

  /* Hide columns: Track(3), Session(4), Cond(5), Car(6), Laps(7), Splits(9), Total(10) */
  #tm-leaderboard-table th:nth-child(3),
  #tm-leaderboard-table td:nth-child(3),
  #tm-leaderboard-table th:nth-child(4),
  #tm-leaderboard-table td:nth-child(4),
  #tm-leaderboard-table th:nth-child(5),
  #tm-leaderboard-table td:nth-child(5),
  #tm-leaderboard-table th:nth-child(6),
  #tm-leaderboard-table td:nth-child(6),
  #tm-leaderboard-table th:nth-child(7),
  #tm-leaderboard-table td:nth-child(7),
  #tm-leaderboard-table th:nth-child(9),
  #tm-leaderboard-table td:nth-child(9),
  #tm-leaderboard-table th:nth-child(10),
  #tm-leaderboard-table td:nth-child(10){
    display: none !important;
  }

  /* Column widths */
  #tm-leaderboard-table th:nth-child(1),
  #tm-leaderboard-table td:nth-child(1){
    width: 34px !important;
    text-align: center !important;
    padding-left: 10px !important;
    padding-right: 6px !important;
  }

  #tm-leaderboard-table th:nth-child(2),
  #tm-leaderboard-table td:nth-child(2){
    width: auto !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  #tm-leaderboard-table th:nth-child(8),
  #tm-leaderboard-table td:nth-child(8){
    width: 92px !important;
    text-align: right !important;
    padding-left: 6px !important;
    padding-right: 12px !important;
    font-variant-numeric: tabular-nums !important;
    white-space: nowrap !important;
  }

  #tm-leaderboard-table td,
  #tm-leaderboard-table th{
    font-size: 12px !important;
  }
}

@media (max-width: 360px){
  #tm-leaderboard-table th:nth-child(8),
  #tm-leaderboard-table td:nth-child(8){
    width: 84px !important;
  }
}

/* =========================
   HIDE "ADMIN" BUTTON (SAFE)
   ========================= */
/* Если это ссылка в админку */
a[href*="wp-admin"]{
  display: none !important;
}

/* Если у кнопки/элемента есть устойчивый класс (оставила твои варианты) */
.admin,
.tm-admin,
.admin-badge,
.tm_admin_badge,
.tm_admin,
.admin-float,
.tm-admin-float{
  display: none !important;
}

/* =========================
   BURGER — DESKTOP HIDE
   ========================= */
@media (min-width: 992px){
  .tm_burger_btn{ display: none !important; }
}

/* =========================
   MOBILE (ONE CLEAN BLOCK)
   ========================= */
@media (max-width: 991px){

  /* Header: no desktop offsets */
  header,
  .cs_site_header,
  .cs_header{
    margin-top: 0 !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }

  /* RSS ticker: compact */
  .tm_rss_ticker_wrap{
    position: relative !important;
    z-index: 10 !important;
    height: 30px !important;
    min-height: 30px !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
  }
  .tm_rss_ticker_wrap .container{
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .tm_rss_label{
    font-size: 10px !important;
    letter-spacing: .12em !important;
    white-space: nowrap !important;
  }
  .tm_rss_item_link{
    font-size: 11px !important;
    opacity: .9 !important;
  }

  /* Kill any spacer between RSS and hero */
  .tm_rss_ticker_wrap + .cs_height_120,
  .tm_rss_ticker_wrap + .cs_height_100,
  .tm_rss_ticker_wrap + .cs_height_90,
  .tm_rss_ticker_wrap + .cs_height_80,
  .tm_rss_ticker_wrap + .cs_height_70,
  .tm_rss_ticker_wrap + .cs_height_60,
  .tm_rss_ticker_wrap + .cs_height_50,
  .tm_rss_ticker_wrap + .cs_height_40,
  .tm_rss_ticker_wrap + .cs_height_30,
  .tm_rss_ticker_wrap + .cs_height_20{
    display: none !important;
    height: 0 !important;
  }

  /* Header: strict single row */
  #tm-site-header,
  #tm-site-header .cs_main_header,
  #tm-site-header .cs_main_header_in{
    position: relative !important;
    z-index: 20 !important;
  }

  #tm-site-header .cs_main_header{
    padding: 6px 0 !important;
    min-height: 56px !important;
  }

  #tm-site-header .cs_main_header_in{
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    min-height: 56px !important;
  }

  /* Hide desktop center nav on mobile (prevents 2nd row mess) */
  #tm-site-header .cs_main_header_center{
    display: none !important;
  }

  /* Logo: clean mobile (no blend dirt) */
  #tm-site-header .cs_site_branding::after{
    display: none !important;
  }

  #tm-site-header .cs_site_branding img{
    width: 98px !important;
    height: auto !important;
    max-width: 98px !important;
    opacity: .92 !important;
    mix-blend-mode: normal !important;
    box-shadow: none !important;
    border-radius: 12px !important;
  }

  /* Right button */
  #tm-site-header .cs_main_header_right{
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
  }

  #tm-site-header .cs_main_header_right .cs_btn{
    padding: 9px 12px !important;
    min-height: 38px !important;
    font-size: 12px !important;
    white-space: nowrap !important;
    width: auto !important;
    max-width: 160px !important;
  }

  /* Disable overlap on mobile */
  #home{
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* Hero: better mobile text scale */
  .tm_hero_title{
    font-size: 26px !important;
    line-height: 1.06 !important;
    letter-spacing: .02em !important;
  }
  .tm_hero_sub{
    font-size: 13px !important;
    opacity: .85 !important;
  }

  .tm_hero_actions{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .tm_hero_actions .cs_btn.cs_style_1{
    width: 100% !important;
    justify-content: center !important;
  }

  .tm_hero_side{
    margin-top: 14px !important;
  }
}

@media (max-width: 420px){
  #tm-site-header .cs_site_branding img{
    width: 88px !important;
    max-width: 88px !important;
  }
  #tm-site-header .cs_main_header_right .cs_btn{
    max-width: 140px !important;
    font-size: 11px !important;
  }
}
/* =========================================
   ANNOUNCEMENTS: equal card heights + aligned buttons
   ========================================= */

/* 1) Make cards in this section equal-height */
.tm_announcements .cs_card,
.tm_announcements .tm_post_card,
.tm_announcements .tm_news_card,
#announcements .cs_card,
#announcements .tm_post_card,
#announcements .tm_news_card,
.cs_section_Announcements .cs_card,
.cs_section_Announcements .tm_post_card,
.cs_section_Announcements .tm_news_card{
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}

/* 2) Normalize the media block (top image) */
.tm_announcements .cs_card img,
.tm_announcements .tm_post_card img,
.tm_announcements .tm_news_card img,
#announcements .cs_card img,
#announcements .tm_post_card img,
#announcements .tm_news_card img{
  width: 100% !important;
  height: 220px !important;     /* tweak: 200–260 */
  object-fit: cover !important; /* keeps it premium */
  border-radius: 16px !important;
}

/* 3) Card body should flex, button goes to bottom */
.tm_announcements .cs_card .cs_card_body,
.tm_announcements .tm_post_card .tm_card_body,
.tm_announcements .tm_news_card .tm_card_body,
#announcements .cs_card .cs_card_body,
#announcements .tm_post_card .tm_card_body,
#announcements .tm_news_card .tm_card_body{
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
}

/* 4) Push CTA to the bottom */
.tm_announcements .cs_card .cs_btn,
.tm_announcements .tm_post_card .cs_btn,
.tm_announcements .tm_news_card .cs_btn,
#announcements .cs_card .cs_btn,
#announcements .tm_post_card .cs_btn,
#announcements .tm_news_card .cs_btn{
  margin-top: auto !important;
}

/* 5) If your layout uses columns, force stretch */
.tm_announcements .cs_row,
#announcements .cs_row,
.tm_announcements .row,
#announcements .row{
  align-items: stretch !important;
}

/* Mobile: keep image smaller */
@media (max-width: 768px){
  .tm_announcements .cs_card img,
  #announcements .cs_card img{
    height: 180px !important;
  }
}
/* =========================================
   UNIVERSAL EQUAL CARDS + CTA ALIGN (by :has)
   Works for "Read more" cards
   ========================================= */

/* 1) Any card that contains a button becomes a flex column */
.cs_card:has(.cs_btn.cs_style_1),
.tm_prize_card:has(.cs_btn.cs_style_1),
.tm_download_card:has(.cs_btn.cs_style_1),
article:has(.cs_btn.cs_style_1){
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}

/* 2) Ensure the card content area can stretch */
.cs_card:has(.cs_btn.cs_style_1) &gt; *:last-child,
.tm_prize_card:has(.cs_btn.cs_style_1) &gt; *:last-child,
.tm_download_card:has(.cs_btn.cs_style_1) &gt; *:last-child,
article:has(.cs_btn.cs_style_1) &gt; *:last-child{
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
}

/* 3) Push the button to the bottom (align all CTAs) */
.cs_card:has(.cs_btn.cs_style_1) .cs_btn.cs_style_1,
.tm_prize_card:has(.cs_btn.cs_style_1) .cs_btn.cs_style_1,
.tm_download_card:has(.cs_btn.cs_style_1) .cs_btn.cs_style_1,
article:has(.cs_btn.cs_style_1) .cs_btn.cs_style_1{
  margin-top: auto !important;
}

/* 4) Make the grid columns stretch (so equal heights actually apply) */
.cs_row,
.cs_card_row,
.row,
.elementor-row,
.elementor-container{
  align-items: stretch !important;
}

.cs_row &gt; [class*="col"],
.cs_card_row &gt; [class*="col"],
.row &gt; [class*="col"],
.elementor-row &gt; .elementor-column,
.elementor-container &gt; .elementor-column{
  display: flex !important;
  flex-direction: column !important;
}

/* 5) Normalize top images inside those cards (prevents different heights) */
.cs_card:has(.cs_btn.cs_style_1) img,
.tm_prize_card:has(.cs_btn.cs_style_1) img,
.tm_download_card:has(.cs_btn.cs_style_1) img,
article:has(.cs_btn.cs_style_1) img{
  width: 100% !important;
  object-fit: cover !important;
}

/* If the first image is the cover/thumbnail, force same height */
.cs_card:has(.cs_btn.cs_style_1) img:first-of-type,
.tm_prize_card:has(.cs_btn.cs_style_1) img:first-of-type,
.tm_download_card:has(.cs_btn.cs_style_1) img:first-of-type,
article:has(.cs_btn.cs_style_1) img:first-of-type{
  height: 220px !important; /* tweak 200–260 */
  border-radius: 16px !important;
}

/* Mobile: smaller image height */
@media (max-width: 768px){
  .cs_card:has(.cs_btn.cs_style_1) img:first-of-type,
  .tm_prize_card:has(.cs_btn.cs_style_1) img:first-of-type,
  .tm_download_card:has(.cs_btn.cs_style_1) img:first-of-type,
  article:has(.cs_btn.cs_style_1) img:first-of-type{
    height: 180px !important;
  }
}
.rvc-hl-icon{
  width: 800px;
  height: 250px;
  border-radius: 999px;
  object-fit: cover;
}
/* === GLOBAL SECTION SPACING === */
section {
  margin-bottom: 110px;   /* базовый отступ между блоками */
}

/* На больших экранах — ещё воздушнее */
@media (min-width: 1200px) {
  section {
    margin-bottom: 30px;
  }
}
/* === DOWNLOADS: compact cards === */
#downloads .tm_download_card {
  max-width: 260px;          /* ограничиваем ширину карточки */
  padding: 6px;             /* было больше — делаем компактнее */
  border-radius: 18px;
}

/* Картинка */
#downloads .tm_download_img {
  height: 180px;             /* было крупно — уменьшаем */
  object-fit: cover;
  border-radius: 14px;
}

/* Заголовок */
#downloads .tm_download_title {
  font-size: 10px;
  margin-top: 5px;
  margin-bottom: 2px;
}

/* Описание */
#downloads .tm_download_desc {
  font-size: 10px;
  line-height: 1.0;
  opacity: 0.85;
}

/* Кнопка */
#downloads .cs_btn {
  padding: 3px 6px;
  font-size: 12px;
  border-radius: 999px;
}
/* 100% попадание по карточке (любой блок внутри downloads, который выглядит как карточка) */
#downloads .row &gt; [class*="col"] &gt; div {
  max-width: 160px !important;
}

/* если реальная карточка имеет конкретный класс — тоже прижмём */
#downloads .tm_download_card,
#downloads .rvc-dl-card,
#downloads .rvc-dl-row {
  
  padding: 3px !important;
  border-radius: 18px !important;
  overflow: hidden !important;
}

/* 100% попадание по картинке: ЛЮБОЙ img внутри downloads */
#downloads img {
  width: 100% !important;
  height: 90px !important;
  object-fit: cover !important;
  border-radius: 12px !important;
	max-width: 140px !important;
  display: block !important;
}
/* === DOWNLOADS: убрать лишнюю надпись "DOWNLOAD" === */

/* если это отдельный блок */
#downloads .tm_download_meta,
#downloads .download-label,
#downloads .tm_download_label {
  display: none !important;
}

/* если это текст перед кнопкой */
#downloads .tm_download_card small,
#downloads .tm_download_card .label,
#downloads .tm_download_card .meta {
  display: none !important;
}
/* =========================================================
   SAFE RESPONSIVE FIX (KEEP DESIGN)
   Только предотвращает поломки на mobile/tablet.
   Вставить В КОНЕЦ.
   ========================================================= */

/* ---------- 1) HEADER: не ломаем стиль, только предотвращаем overflow ---------- */
@media (max-width: 991px){

  /* не даём хедеру раздуваться/уезжать */
  #tm-site-header .cs_main_header_in{
    flex-wrap: nowrap !important;
    gap: 10px !important;
  }

  /* лого: НЕ меняем эффекты, только ограничиваем, чтобы не ломало сетку */
  #tm-site-header .cs_site_branding img{
    max-width: 150px !important;   /* ограничение, не редизайн */
    width: auto !important;
    height: auto !important;
  }

  /* кнопки справа: не меняем цвета/эффекты, только не даём переноситься */
  #tm-site-header .cs_main_header_right .cs_btn{
    white-space: nowrap !important;
  }
}

@media (max-width: 480px){

  #tm-site-header .cs_site_branding img{
    max-width: 110px !important;   /* чтобы в одну строку помещалось */
  }

  #tm-site-header .cs_main_header_right .cs_btn{
    max-width: 170px !important;
  }
}

/* ---------- 2) DOWNLOADS: убираем КОНФЛИКТ высоты/ширины, не меняя стиль ---------- */
/* Сейчас у тебя конфликт:
   - #downloads .tm_download_img { height: 180px; }
   - #downloads img { height: 90px; max-width:140px; }
   На мобильных это рвёт карточку.
*/
@media (max-width: 991px){

  /* НЕ трогаем твои карточки глобально — только картинку приводим к одному правилу */
  #downloads img{
    max-width: 100% !important;   /* снимаем 140px, из-за него "не уменьшается" и ломается */
    height: auto !important;      /* по умолчанию */
  }

  /* Если есть класс tm_download_img — пусть именно он задаёт высоту (один источник истины) */
  #downloads .tm_download_img{
    width: 100% !important;
    height: 180px !important;     /* сохраняем твой дизайн (как на десктопе) */
    object-fit: cover !important;
  }
}

@media (max-width: 480px){
  /* На телефоне та же картинка, но чуть ниже, чтобы не было огромных карточек.
     Это единственное "визуальное" — и оно минимальное. */
  #downloads .tm_download_img{
    height: 140px !important;
  }
}

@media (max-width: 360px){
  #downloads .tm_download_img{
    height: 150px !important;
  }
}
#tm-site-header .cs_nav_list &gt; li &gt; a {
  padding: 8px 8px !important; /* Уменьшен отступ до 8px и добавлен !important */
}

.cs_nav_list {
  gap: 8px !important; /* Уменьшен gap и добавлен !important */
}
.tm-acc-portal{max-width:1200px;margin:0 auto;padding:30px 20px;color:#fff}
.tm-acc-statusbar{display:flex;gap:12px;align-items:center;margin:10px 0 18px;opacity:.9}
.tm-status-dot{width:10px;height:10px;border-radius:50%;background:#2dff6a;box-shadow:0 0 20px rgba(45,255,106,.45)}
.tm-acc-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:10px 0 18px}
.tm-stat-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:14px 16px}
.tm-stat-title{font-size:12px;opacity:.75;margin-bottom:6px}
.tm-stat-value{font-size:26px;font-weight:700;letter-spacing:.5px}

.tm-acc-filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:14px 0 10px}
.tm-acc-filters input,.tm-acc-filters select{background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.12);color:#fff;border-radius:10px;padding:8px 10px}
#tm-show-all-btn{background:rgba(225,6,0,.18);border:1px solid rgba(225,6,0,.38);color:#fff;border-radius:12px;padding:8px 12px;cursor:pointer}
.tm-acc-tablewrap{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:10px 12px}
.tm-acc-table{width:100%;border-collapse:collapse}
.tm-acc-table th,.tm-acc-table td{padding:10px 8px;border-bottom:1px solid rgba(255,255,255,.08);font-size:14px}
.tm-acc-table th{font-size:12px;opacity:.75;text-transform:uppercase;letter-spacing:.08em}
.tm-table-hint{opacity:.7;font-size:12px;margin-left:auto}
@media(max-width:900px){.tm-acc-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ===== ACC DASHBOARD FIX ===== */
.acc-page .container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
}

.acc-status {
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:24px;
}
.acc-status .dot {
  width:10px;height:10px;border-radius:50%;
  background:#00ff7f;
}

.acc-summary-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin-bottom:24px;
}
.acc-card {
  background:#111;
  border-radius:14px;
  padding:18px;
}
.acc-card .label {opacity:.6;font-size:13px}
.acc-card .value {font-size:26px;font-weight:700}

.acc-filters {
  display:flex;
  gap:12px;
  margin-bottom:16px;
}

.acc-table-scroll {
  overflow-x:auto;
  border-radius:14px;
}

#acc-leaderboard {
  width:100%;
  min-width:1100px;
  border-collapse:collapse;
}
#acc-leaderboard th,
#acc-leaderboard td {
  padding:12px 10px;
  border-bottom:1px solid #222;
  white-space:nowrap;
}
#acc-leaderboard tbody tr {
  cursor:pointer;
}
#acc-leaderboard tbody tr:hover {
  background:#151515;
}

/* MODAL */
.acc-modal {display:none}
.acc-modal.active {display:block}
.acc-modal-bg {
  position:fixed;inset:0;background:rgba(0,0,0,.7)
}
.acc-modal-box {
  position:fixed;top:50%;left:50%;
  transform:translate(-50%,-50%);
  background:#111;border-radius:16px;
  padding:24px;max-width:720px;width:90%;
}
.acc-modal-box .close {
  position:absolute;top:10px;right:12px;
  background:none;border:0;color:#fff;font-size:24px;
}
/* Force clickable Discord button */
.mo-openid-app-icons,
.mo-openid-app-icons a,
.mo-openid-app-icons button,
.mo-openid-app-icons * {
  pointer-events: auto !important;
  position: relative;
  z-index: 9999;
}
/* 1) Хедер поверх всего + не режет выпадашки */
header,
.site-header,
.elementor-location-header,
.tmc-header,
.tmc-topbar {
  position: relative !important;
  z-index: 99999 !important;
  overflow: visible !important;
}

/* 2) Родитель кнопки аккаунта — якорь для дропдауна */
.tmc-account-toggle {
  position: relative !important;
  z-index: 100000 !important;
}

/* 3) Сам дропдаун аккаунта — делаем поверх (подхватываем частые варианты) */
.tmc-account-toggle + .tmc-account-menu,
.tmc-account-toggle + .tmc-dropdown,
.tmc-account-toggle + .dropdown-menu,
.tmc-account-toggle + .sub-menu,
.tmc-account-menu,
.tmc-dropdown,
.dropdown-menu,
.menu-item-has-children &gt; .sub-menu {
  position: absolute !important;
  top: calc(100% + 10px) !important;
  right: 0 !important;
  left: auto !important;
  z-index: 100001 !important;
}

/* 4) Если какой-то секционный “glass/hero” блок режет — отключаем обрезку */
.elementor-section,
.elementor-container,
.elementor-widget-wrap,
.tmc-hero,
.tmc-hero * {
  overflow: visible !important;
}
/* === My Account dropdown on hover === */

/* Родитель — якорь */
.tmc-account-toggle {
  position: relative;
}

/* Само меню — скрыто по умолчанию */
.tmc-account-menu,
.tmc-dropdown,
.dropdown-menu {
  display: none;
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  z-index: 100001;
}

/* Показываем меню при наведении */
.tmc-account-toggle:hover + .tmc-account-menu,
.tmc-account-toggle:hover + .tmc-dropdown,
.tmc-account-toggle:hover + .dropdown-menu,
.tmc-account-toggle:hover ~ .tmc-account-menu {
  display: block;
}

/* ВАЖНО: чтобы меню не пропадало при наведении на него */
.tmc-account-menu:hover,
.tmc-dropdown:hover,
.dropdown-menu:hover {
  display: block;
}
/* === My Account hover-sticky dropdown === */

/* Общий контейнер аккаунта */
.tmc-account {
  position: relative;
}

/* Кнопка */
.tmc-account-toggle {
  position: relative;
  z-index: 100000;
}

/* Меню — скрыто по умолчанию */
.tmc-account-menu,
.tmc-dropdown {
  display: none;
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  z-index: 100001;
}

/* Показываем меню, пока курсор ВНУТРИ контейнера */
.tmc-account:hover .tmc-account-menu,
.tmc-account:hover .tmc-dropdown {
  display: block;
}
.tmc-account:focus-within .tmc-account-menu {
  display: block;
}
/* ===== STICKY DROPDOWN for My Account (no исчезание) ===== */

/* 1) Меню не через display:none, а через opacity/visibility (чтобы не мигало) */
.tmc-account-menu,
.tmc-dropdown,
.dropdown-menu {
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  pointer-events: none;

  transition: opacity .18s ease, transform .18s ease, visibility 0s linear .18s;
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  z-index: 100001;
}

/* 2) Показываем меню при hover на кнопке И при hover на самом меню */
.tmc-account-toggle:hover + .tmc-account-menu,
.tmc-account-toggle:hover + .tmc-dropdown,
.tmc-account-toggle:hover + .dropdown-menu,
.tmc-account-menu:hover,
.tmc-dropdown:hover,
.dropdown-menu:hover,
.tmc-account-toggle:focus + .tmc-account-menu,
.tmc-account-toggle:focus + .tmc-dropdown,
.tmc-account-toggle:focus + .dropdown-menu,
.tmc-account-toggle:focus-within + .tmc-account-menu,
.tmc-account-toggle:focus-within + .tmc-dropdown,
.tmc-account-toggle:focus-within + .dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;

  transition: opacity .18s ease, transform .18s ease, visibility 0s;
}

/* 3) Невидимый "мостик" между кнопкой и меню — убирает разрыв hover */
.tmc-account-toggle {
  position: relative;
  z-index: 100000;
}

/* мостик ловит курсор, пока ты ведёшь мышь вниз */
.tmc-account-toggle::after {
  content: "";
  position: absolute;
  left: -16px;
  right: -16px;
  top: 100%;
  height: 18px;          /* увеличь до 24px если всё ещё срывается */
  background: transparent;
}

/* ВАЖНО: чтобы мостик реально работал */
.tmc-account-toggle::after {
  pointer-events: auto;
}
.menu-login a {
  display:none;
}

.menu-login::after {
  content: "Register with Discord";
  color:#fff;
}
/* ===== RaceVIP: compact header menu (force) ===== */

/* 1) Уменьшаем расстояние между LI */
header nav ul li,
.site-header nav ul li,
.main-header nav ul li,
.elementor-location-header nav ul li {
  margin-left: 2px !important;
  margin-right: 0px !important;
}

/* 2) Уменьшаем паддинги у ссылок */
header nav ul li &gt; a,
.site-header nav ul li &gt; a,
.main-header nav ul li &gt; a,
.elementor-location-header nav ul li &gt; a {
  padding: 6px 8px !important;
  font-size: 13px !important;
  line-height: 1.1 !important;
}

/* 3) Если тема использует flex + gap — убиваем gap */
header nav ul,
.site-header nav ul,
.main-header nav ul,
.elementor-location-header nav ul {
  gap: 0 !important;
  column-gap: 0 !important;
}

/* 4) Чуть ниже высота шапки */
.site-header,
header.site-header,
.elementor-location-header {
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

/* 5) Если меню сделано через .menu-item */
header .menu &gt; .menu-item,
.site-header .menu &gt; .menu-item,
.elementor-location-header .menu &gt; .menu-item {
  margin: 0 6px !important;
}

/* 6) Если меню сделано через Elementor Nav Menu */
.elementor-nav-menu--main .elementor-item {
  padding: 6px 8px !important;
}
.elementor-nav-menu--main .elementor-nav-menu {
  gap: 0 !important;
}
/* =========================================================
   Popup Maker — Premium 3D banner modal + CTA overlay
   Clean version (no duplicates)
   ========================================================= */

/* 1) Overlay (choose ONE mode) */

/* Mode A: dark + blur (recommended) */
.pum-overlay{
  background: rgba(0,0,0,.78) !important;
  backdrop-filter: blur(3px);
}

/* Mode B: fully transparent overlay (uncomment to use) */
/*
.pum-overlay{
  background: transparent !important;
  backdrop-filter: none !important;
}
*/

/* 2) Popup container (centered, no white box) */
.pum-container{
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  box-shadow: none !important;

  max-width: min(860px, 92vw) !important;
  width: auto !important;

  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  position: relative !important;

  animation: pmFadeZoom .35s ease-out;
}

@keyframes pmFadeZoom{
  from{ opacity:0; transform: translateY(6px) scale(.96); }
  to  { opacity:1; transform: translateY(0) scale(1); }
}

/* 3) Optional “card” wrapper (use if your content has .pmx-wrap) */
.pum .pmx-wrap{
  position: relative;
  max-width: 560px;
  margin: 0 auto;
  border-radius: 22px;
  overflow: hidden;
  background: rgba(10,10,12,.7);
  box-shadow:
    0 30px 90px rgba(0,0,0,.75),
    inset 0 0 0 1px rgba(255,255,255,.12);
}

/* 4) Banner image (3D rounded) */
.pum-container img,
.pum .pmx-banner img{
  display: block !important;
  width: 100% !important;
  height: auto !important;

  border-radius: 18px !important;

  box-shadow:
    0 18px 50px rgba(0,0,0,.55),
    0 0 0 1px rgba(255,255,255,.10),
    inset 0 1px 0 rgba(255,255,255,.22),
    inset 0 -12px 22px rgba(0,0,0,.25) !important;

  transform: translateZ(0);
  transition: transform .18s ease;
}

/* if you use the .pmx-wrap card, match its radius */
.pum .pmx-wrap img{
  border-radius: 22px !important;
}

/* hover “clickable” feel */
.pum-content .pm-banner-wrap:hover img,
.pum .pmx-wrap:hover img{
  transform: scale(1.01);
}

/* 5) Subtle glossy highlight (only if you want it) */
.pum-container::before{
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 18px;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,0) 45%);
  mix-blend-mode: screen;
}

/* 6) Close button (clean circle) */
.pum-close{
  position: absolute !important;
  top: -12px !important;
  right: -12px !important;

  width: 38px !important;
  height: 38px !important;
  border-radius: 999px !important;

  background: rgba(0,0,0,.70) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.14) !important;

  line-height: 38px !important;
  text-align: center !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.45) !important;
}
.pum-close:hover{
  background: rgba(255,45,45,.95) !important;
}

/* 7) CTA overlay button — Option 1 (pm-banner-wrap + pm-cta) */
.pum-content .pm-banner-wrap{
  position: relative;
  border-radius: 18px;
  overflow: hidden;
}

.pum-content .pm-cta{
  position: absolute;
  left: 50%;
  bottom: 14px;
  transform: translateX(-50%);

  display: inline-flex;
  align-items: center;
  gap: 10px;

  padding: 12px 16px;
  border-radius: 999px;

  background: rgba(10,10,12,.70);
  border: 1px solid rgba(255,255,255,.16);
  color: #fff;
  text-decoration: none;

  font-weight: 800;
  letter-spacing: .2px;

  box-shadow: 0 14px 40px rgba(0,0,0,.45);
  backdrop-filter: blur(6px);
}
.pum-content .pm-cta:hover{
  background: rgba(225, 6, 0, .92);
  border-color: rgba(255,255,255,.25);
}
.pum-content .pm-cta small{
  font-weight: 600;
  opacity: .9;
}

/* 8) CTA overlay button — Option 2 (pmx-wrap + pmx-cta) */
.pum .pmx-cta{
  position: absolute;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  z-index: 50;

  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;

  padding: 16px 36px;
  border-radius: 999px;
  text-decoration: none;

  background: linear-gradient(135deg,#ffcc00,#ff7a00);
  color: #111;
  font-weight: 900;
  text-align: center;

  box-shadow:
    0 20px 50px rgba(255,140,0,.65),
    inset 0 -3px 0 rgba(0,0,0,.35),
    inset 0 2px 0 rgba(255,255,255,.35);

  transition: all .25s ease;
}
.pum .pmx-cta:hover{
  transform: translateX(-50%) translateY(-2px);
  box-shadow:
    0 28px 70px rgba(255,140,0,.85),
    inset 0 -3px 0 rgba(0,0,0,.45);
}

.pmx-cta-title{
  font-size: 16px;
  letter-spacing: .4px;
}
.pmx-cta-sub{
  font-size: 12px;
  font-weight: 800;
  opacity: .85;
}

/* 9) Mobile tweaks */
@media (max-width: 768px){
  .pum-container{ max-width: 95vw !important; }
  .pum-content .pm-cta{
    bottom: 10px;
    padding: 11px 14px;
    font-size: 14px;
  }
}
@media (max-width: 480px){
  .pum .pmx-cta{
    padding: 14px 24px;
    bottom: 14px;
  }
  .pmx-cta-title{ font-size: 15px; }
}
/* ===== FIX LEFT WHITE HAZE (Popup ID 1060) ===== */

/* Make popup shrink-wrap to content (no extra empty area) */
#pum-1060 .pum-container,
#pum-1060 .pum-content {
  background: transparent !important;
  padding: 0 !important;
  margin: 0 auto !important;
  border: 0 !important;
  box-shadow: none !important;
  width: auto !important;
  max-width: none !important;
  display: inline-block !important;
}

/* If Gutenberg wrappers exist, kill their background/padding too */
#pum-1060 .pum-content .wp-block-group,
#pum-1060 .pum-content .wp-block {
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* IMPORTANT: disable glossy layer on container (this often causes the haze) */
#pum-1060 .pum-container::before {
  content: none !important;
  display: none !important;
}

/* Center the whole popup */
#pum-1060 {
  text-align: center !important;
}
/* ===== Popup Maker: modern 3D grid popup (global) ===== */

/* Overlay (убирает “белую пелену”, делает ровный тёмный фон) */
.pum-overlay,
.pum-overlay.pum-open {
  background: rgba(0,0,0,.82) !important;
  backdrop-filter: blur(4px);
}

/* Контейнер попапа: убираем белые фоны/тени темы */
.pum-container,
.pum-theme-default-theme .pum-container,
.pum .pum-container {
  background: transparent !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Часто “пелена слева” = фон внутри .pum-content */
.pum-content,
.pum-theme-default-theme .pum-content {
  background: transparent !important;
  padding: 0 !important;
}

/* Если тема рисует псевдо-элемент/рамку */
.pum-container:before,
.pum-container:after,
.pum-content:before,
.pum-content:after {
  background: transparent !important;
  box-shadow: none !important;
}

/* Close button (чтобы не гуляла) */
.pum-close {
  position: absolute !important;
  top: -12px !important;
  right: -12px !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 999px !important;
  background: rgba(0,0,0,.65) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: 0 18px 50px rgba(0,0,0,.55) !important;
  line-height: 38px !important;
  text-align: center !important;
  z-index: 9999 !important;
}
.pum-close:hover { background: rgba(30,95,255,.92) !important; }

/* ===== 4-card grid ===== */
.pum .pmgrid{
  width: min(980px, 92vw);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  padding: 14px;
}

.pum .pmcard{
  position: relative;
  border-radius: 22px;
  overflow: hidden;
  background: rgba(12,12,14,.55);
  box-shadow:
    0 30px 90px rgba(0,0,0,.70),
    inset 0 0 0 1px rgba(255,255,255,.12);
}

/* Image */
.pum .pmmedia img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 22px;
  transform: translateZ(0);
}

/* Slight 3D/gloss */
.pum .pmcard::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background: linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,0) 45%);
  mix-blend-mode: screen;
  opacity:.55;
}

/* ===== Blue CTA button ===== */
.pum .pmbtn{
  position: absolute;
  left: 50%;
  bottom: 14px;
  transform: translateX(-50%);
  z-index: 10;

  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;

  padding: 14px 26px;
  border-radius: 999px;
  text-decoration: none;

  background: linear-gradient(135deg, #2f7cff, #7a5bff);
  color: #fff;
  font-weight: 900;
  letter-spacing: .2px;
  text-align: center;

  box-shadow:
    0 24px 60px rgba(72,118,255,.55),
    inset 0 -3px 0 rgba(0,0,0,.30),
    inset 0 2px 0 rgba(255,255,255,.30);

  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.pum .pmbtn small{
  font-size: 12px;
  font-weight: 800;
  opacity: .92;
}

.pum .pmcard:hover .pmbtn{
  transform: translateX(-50%) translateY(-2px);
  filter: brightness(1.06);
  box-shadow:
    0 30px 80px rgba(72,118,255,.70),
    inset 0 -3px 0 rgba(0,0,0,.38);
}

/* Mobile */
@media (max-width: 720px){
  .pum .pmgrid{ grid-template-columns: 1fr; width: 94vw; }
  .pum .pmbtn{ padding: 13px 22px; }
}
/* Unified blue CTA buttons */
.pmx-cta {
  background: linear-gradient(135deg, #2f7cff, #5b8dff) !important;
  color: #fff !important;
  border: none !important;

  box-shadow:
    0 16px 40px rgba(47,124,255,.55),
    inset 0 -3px 0 rgba(0,0,0,.35),
    inset 0 2px 0 rgba(255,255,255,.25) !important;

  transition: transform .2s ease, box-shadow .2s ease;
}

.pmx-cta:hover {
  transform: translateX(-50%) translateY(-2px);
  box-shadow:
    0 24px 60px rgba(47,124,255,.8),
    inset 0 -3px 0 rgba(0,0,0,.45);
}
/* =========================
   POPUP MAKER – GRID FIX + CLEAN CLOSE (X)
   ========================= */

/* Overlay */
.pum-overlay{
  background: rgba(0,0,0,.78) !important;
  backdrop-filter: blur(4px);
}

/* Popup container – центр + правильная ширина */
.pum-container{
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 auto !important;
  box-shadow: none !important;

  width: min(980px, 92vw) !important;
  max-width: 980px !important;

  position: relative !important;
}

/* Content wrapper – убираем лишние отступы */
.pum-content{
  padding: 0 !important;
  margin: 0 !important;
}

/* ===== GRID ===== */
.pum-content .pmgrid{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 22px !important;
  align-items: start !important;
  justify-items: stretch !important;

  padding: 24px !important;
  border-radius: 22px !important;

  background: rgba(10,10,12,.55) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  box-shadow: 0 30px 90px rgba(0,0,0,.70) !important;
  backdrop-filter: blur(10px);
}

/* Cards */
.pum-content .pmcard{
  position: relative !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  background: rgba(0,0,0,.25) !important;
  box-shadow: 0 18px 55px rgba(0,0,0,.55) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
}

.pum-content .pmmedia{
  display: block !important;
  text-decoration: none !important;
}

.pum-content .pmmedia img{
  width: 100% !important;
  height: auto !important;
  display: block !important;
  border-radius: 22px !important;
}

/* Button */
.pum-content .pmbtn{
  position: absolute !important;
  left: 50% !important;
  bottom: 14px !important;
  transform: translateX(-50%) !important;
  z-index: 5 !important;

  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 3px !important;

  min-width: 68% !important;
  padding: 12px 18px !important;
  border-radius: 999px !important;

  background: linear-gradient(135deg,#2b6bff,#6b5bff) !important;
  color: #fff !important;
  text-decoration: none !important;

  font-weight: 800 !important;
  box-shadow: 0 18px 45px rgba(60,110,255,.35) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
}

.pum-content .pmbtn small{
  font-weight: 700 !important;
  opacity: .9 !important;
  font-size: 12px !important;
}

.pum-content .pmbtn:hover{
  filter: brightness(1.06) !important;
  transform: translateX(-50%) translateY(-1px) !important;
}

/* Mobile: 1 column */
@media (max-width: 860px){
  .pum-content .pmgrid{
    grid-template-columns: 1fr !important;
    padding: 16px !important;
    gap: 16px !important;
  }
}

/* ===== CLOSE BUTTON: remove text CLOSE and draw X ===== */
.pum-close{
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;

  width: 42px !important;
  height: 42px !important;
  border-radius: 999px !important;

  background: rgba(0,0,0,.65) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: 0 16px 40px rgba(0,0,0,.55) !important;

  z-index: 9999 !important;

  /* убираем любой текст/лейбл */
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
  text-indent: -9999px !important;
  overflow: hidden !important;
}

/* если плагин вставляет span/em */
.pum-close span,
.pum-close em{
  display: none !important;
}

/* рисуем крестик */
.pum-close::before{
  content: "×" !important;
  position: absolute !important;
  inset: 0 !important;
  display: grid !important;
  place-items: center !important;
  font-size: 28px !important;
  font-weight: 400 !important;
  color: #fff !important;
  line-height: 1 !important;
}

.pum-close:hover{
  background: rgba(255,55,55,.92) !important;
  box-shadow: 0 18px 45px rgba(255,55,55,.45) !important;
}
/* ================================
   Popup Maker – clean grid modal
   Fixes: remove outer frame + real X close button
   ================================ */

/* 1) Overlay (background behind popup) */
.pum-overlay{
  background: rgba(0,0,0,.78) !important;
  backdrop-filter: blur(3px);
}

/* 2) Remove the “frame/box” from Popup Maker wrappers */
.pum-container,
.pum-container .pum-content,
.pum-container .pum-content + *,
.pum-container .pum-content *{
  box-shadow: none;
}
.pum-container,
.pum-container .pum-content{
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
}

/* 3) Popup positioning + max width */
.pum-container{
  padding: 0 !important;
  margin: 0 !important;
  max-width: min(980px, 94vw) !important;
  width: auto !important;
  position: relative !important;
}

/* 4) Your grid wrapper (keeps everything aligned) */
.pmgrid{
  position: relative;
  max-width: min(980px, 94vw);
  margin: 0 auto;
  padding: 14px;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;

  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
@media (max-width: 820px){
  .pmgrid{ grid-template-columns: 1fr; }
}

/* 5) Card style (no extra “frame” around whole popup, only neat cards) */
.pmcard{
  position: relative;
  border-radius: 22px;
  overflow: hidden;
  background: rgba(12,12,14,.35);
  border: 0 !important;
}
.pmmedia img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 22px;
}

/* 6) Button – “tasty” but more compliant wording already in your HTML */
.pmbtn{
  position: absolute;
  left: 50%;
  bottom: 14px;
  transform: translateX(-50%);
  z-index: 3;

  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;

  padding: 14px 30px;
  border-radius: 999px;
  text-decoration: none;

  background: linear-gradient(135deg,#3b82f6,#2563eb);
  color: #fff;
  font-weight: 800;
  text-align: center;

  box-shadow:
    0 18px 45px rgba(37,99,235,.45),
    inset 0 -3px 0 rgba(0,0,0,.25),
    inset 0 2px 0 rgba(255,255,255,.18);
}
.pmbtn small{
  font-size: 12px;
  font-weight: 700;
  opacity: .9;
}
.pmbtn:hover{
  transform: translateX(-50%) translateY(-2px);
  box-shadow:
    0 26px 70px rgba(37,99,235,.60),
    inset 0 -3px 0 rgba(0,0,0,.30);
}


button.pum-close.popmake-close::before,
button.pum-close.popmake-close::after{
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;

  width: 18px !important;
  height: 2px !important;
  background: #fff !important;
  border-radius: 2px !important;

  transform-origin: center !important;
}
button.pum-close.popmake-close::before{ transform: translate(-50%,-50%) rotate(45deg) !important; }
button.pum-close.popmake-close::after { transform: translate(-50%,-50%) rotate(-45deg) !important; }

button.pum-close.popmake-close:hover{
  background: rgba(239,68,68,.95) !important;
  border-color: rgba(255,255,255,.22) !important;
}

/* 8) Remove any weird extra outline/ring some themes add */
button.pum-close.popmake-close,
button.pum-close.popmake-close:focus{
  outline: none !important;
  box-shadow: none !important;
}
/* =========================================
   Remove the BIG outer frame around popup
   (Popup Maker wrapper / theme borders)
   ========================================= */

/* Main popup shell */
.pum-container,
.pum-container.pum-responsive,
.pum-container .pum-content,
.pum-container .pum-content + *{
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

/* Popup Maker “theme” wrapper (often draws that rounded frame) */
.pum-theme-default-theme,
.pum-theme-default-theme .pum-container,
.pum-theme-default-theme .pum-content,
.pum-theme-default-theme .pum-content + *{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Some themes add a border on the actual popup element */
.pum{
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* If the frame is coming from the immediate inner wrapper */
.pum .pum-container,
.pum .pum-content{
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}
/* =====================================================
   POPUP MAKER — REMOVE FRAME COMPLETELY
   ===================================================== */
.pum,
.pum-container,
.pum-content,
.pum-overlay,
[class^="pum-theme-"],
[class*=" pum-theme-"] {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}

.pum::before,
.pum::after,
.pum-container::before,
.pum-container::after {
  display: none !important;
  content: none !important;
}

.pum-content {
  padding: 0 !important;
}

/* 
/* =====================================================
   PARTNER GRID STYLES
   ===================================================== */
.pmwrap {
  max-width: 980px;
  margin: 0 auto;
  padding: 16px;
}

.pmnote {
  font-size: 13px;
  color: rgba(255,255,255,0.7);
  margin-bottom: 12px;
}

.pmgrid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}

.pmcard {
  background: transparent;
}

.pmmedia img {
  width: 100%;
  border-radius: 18px;
  display: block;
}

.pmbtn {
  display: block;
  margin-top: 10px;
  padding: 14px 16px;
  text-align: center;

  background: #4f6cff;
  color: #fff;
  text-decoration: none;

  border-radius: 999px;
  font-weight: 600;
}

.pmbtn small {
  display: block;
  font-size: 12px;
  opacity: 0.8;
}

.pmbtn:hover {
  background: #6b84ff;
}

/* =====================================================
   LEGAL FOOTER
   ===================================================== */
.pmlegal {
  margin-top: 16px;
  padding: 10px 14px;
  font-size: 12px;
  line-height: 1.4;
  text-align: center;
  color: rgba(255,255,255,0.65);
  background: rgba(0,0,0,0.35);
  border-radius: 12px;
}

/* =====================================================
   MOBILE
   ===================================================== */
@media (max-width: 768px) {
  .pmgrid {
    grid-template-columns: 1fr;
  }
}
/* =====================================================
   POPUP MAKER (CLEAN, NO DUPES)
   Fix: close button not floating on page
   + Partner grid styles
   + Phone CTA button
   ===================================================== */

/* --- Overlay --- */
.pum-overlay,
.pum-overlay.pum-open {
  background: rgba(0,0,0,.82) !important;
  backdrop-filter: blur(4px);
}

/* --- Remove theme frames/boxes --- */
.pum,
.pum-container,
.pum-content,
.pum-theme-default-theme,
.pum-theme-default-theme .pum-container,
.pum-theme-default-theme .pum-content {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

/* --- Center popup content &amp; make container the positioning anchor --- */
.pum-container {
  position: relative !important;
  padding: 0 !important;
  margin: 0 auto !important;
  width: auto !important;
  max-width: min(980px, 94vw) !important;
}

.pum-content {
  padding: 0 !important;
  margin: 0 !important;
}

/* =====================================================
   CRITICAL FIX: CLOSE BUTTON BEHAVIOR
   1) Hide close button by default (prevents "always visible")
   2) Show only when popup is actually open
   ===================================================== */

/* 1) Default: hidden everywhere */
button.pum-close,
button.pum-close.popmake-close {
  display: none !important;
}

/* 2) Only show when Popup Maker opened a popup */
body.pum-open button.pum-close,
body.pum-open button.pum-close.popmake-close {
  display: block !important;
}

/* 3) Close button style (real X, no "Close" text) */
body.pum-open button.pum-close.popmake-close {
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;

  width: 42px !important;
  height: 42px !important;
  border-radius: 999px !important;

  background: rgba(0,0,0,.65) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: 0 18px 50px rgba(0,0,0,.55) !important;

  z-index: 9999 !important;

  /* hide any label text */
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
  text-indent: -9999px !important;
  overflow: hidden !important;
}

/* draw X */
body.pum-open button.pum-close.popmake-close::before,
body.pum-open button.pum-close.popmake-close::after{
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 18px !important;
  height: 2px !important;
  background: #fff !important;
  border-radius: 2px !important;
  transform-origin: center !important;
}
body.pum-open button.pum-close.popmake-close::before{
  transform: translate(-50%,-50%) rotate(45deg) !important;
}
body.pum-open button.pum-close.popmake-close::after{
  transform: translate(-50%,-50%) rotate(-45deg) !important;
}

body.pum-open button.pum-close.popmake-close:hover{
  background: rgba(239,68,68,.95) !important;
  border-color: rgba(255,255,255,.22) !important;
}

body.pum-open button.pum-close.popmake-close:focus{
  outline: none !important;
  box-shadow: 0 18px 50px rgba(0,0,0,.55) !important;
}

/* =====================================================
   PARTNER POPUP CONTENT (your HTML: pmwrap/pmgrid/pmcard)
   ===================================================== */
.pmwrap {
  max-width: 980px;
  margin: 0 auto;
  padding: 16px;
}

.pmnote {
  font-size: 13px;
  color: rgba(255,255,255,0.7);
  margin-bottom: 12px;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

/* Phone button (NEW) */
.pmcall {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 10px 14px;
  border-radius: 999px;
  text-decoration: none;

  background: rgba(10,10,12,.70);
  border: 1px solid rgba(255,255,255,.16);
  color: #fff;

  font-weight: 800;
  letter-spacing: .02em;

  box-shadow: 0 14px 40px rgba(0,0,0,.35);
  backdrop-filter: blur(6px);
}
.pmcall:hover{
  background: rgba(47,124,255,.92);
  border-color: rgba(255,255,255,.22);
}

.pmgrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.pmcard {
  position: relative;
  border-radius: 18px;
  overflow: hidden;

  background: rgba(12,12,14,.35);
  box-shadow: 0 30px 90px rgba(0,0,0,.60);
  border: 1px solid rgba(255,255,255,.10);
}

.pmmedia img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 18px;
}

/* CTA button under each card */
.pmbtn {
  display: block;
  margin: 12px 12px 14px;
  padding: 14px 16px;
  text-align: center;

  background: linear-gradient(135deg, #2f7cff, #6b5bff);
  color: #fff;
  text-decoration: none;

  border-radius: 999px;
  font-weight: 800;

  box-shadow:
    0 18px 45px rgba(60,110,255,.30),
    inset 0 -3px 0 rgba(0,0,0,.30),
    inset 0 2px 0 rgba(255,255,255,.18);
}

.pmbtn small {
  display: block;
  font-size: 12px;
  opacity: 0.85;
  margin-top: 3px;
  font-weight: 700;
}

.pmbtn:hover {
  filter: brightness(1.06);
}

/* Legal footer */
.pmlegal {
  margin-top: 16px;
  padding: 10px 14px;
  font-size: 12px;
  line-height: 1.4;
  text-align: center;
  color: rgba(255,255,255,0.65);
  background: rgba(0,0,0,0.35);
  border-radius: 12px;
}

/* Mobile */
@media (max-width: 768px) {
  .pmgrid { grid-template-columns: 1fr; }
  .pmnote { flex-wrap: wrap; }
}
/* === Close button inside grid (top-right of the pmgrid) === */
.pum .pmwrap { position: relative !important; }

.pum .pmwrap .pmclose{
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  z-index: 99999 !important;

  width: 42px !important;
  height: 42px !important;
  border-radius: 999px !important;

  background: rgba(0,0,0,.65) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: 0 18px 50px rgba(0,0,0,.55) !important;

  cursor: pointer !important;
  appearance: none !important;

  /* прячем любой текст */
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
  text-indent: -9999px !important;
  overflow: hidden !important;
}

.pum .pmwrap .pmclose::before,
.pum .pmwrap .pmclose::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:18px !important;
  height:2px !important;
  background:#fff !important;
  border-radius:2px !important;
  transform-origin:center !important;
}
.pum .pmwrap .pmclose::before{ transform: translate(-50%,-50%) rotate(45deg) !important; }
.pum .pmwrap .pmclose::after { transform: translate(-50%,-50%) rotate(-45deg) !important; }

.pum .pmwrap .pmclose:hover{
  background: rgba(239,68,68,.95) !important;
  border-color: rgba(255,255,255,.22) !important;
}

/* optional: hide plugin default close if you want only your grid close */
button.pum-close,
button.pum-close.popmake-close{
  display:none !important;
}
/* =====================================================
   PM GRID POPUP — CLOSE (X) inside top-right (no redesign)
   Add to END of CSS
   ===================================================== */

/* anchor */
.pum .pmwrap{
  position: relative !important;
}

/* button base */
.pum .pmclose{
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  z-index: 100000 !important;

  width: 42px !important;
  height: 42px !important;
  border-radius: 999px !important;

  background: rgba(0,0,0,.65) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: 0 16px 40px rgba(0,0,0,.55) !important;

  cursor: pointer !important;

  /* hide text */
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
  text-indent: -9999px !important;
  overflow: hidden !important;
  padding: 0 !important;
}

/* draw X */
.pum .pmclose::before,
.pum .pmclose::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:18px !important;
  height:2px !important;
  background:#fff !important;
  border-radius:2px !important;
  transform-origin:center !important;
}
.pum .pmclose::before{ transform: translate(-50%,-50%) rotate(45deg) !important; }
.pum .pmclose::after { transform: translate(-50%,-50%) rotate(-45deg) !important; }

.pum .pmclose:hover{
  background: rgba(239,68,68,.95) !important;
  border-color: rgba(255,255,255,.22) !important;
}

/* ensure it stays inside the grid visual area */
.pum .pmgrid{
  position: relative !important;
}

/* optional: if you want to remove Popup Maker default close button */
button.pum-close,
button.pum-close.popmake-close{
  display: none !important;
}
/* Затемнение ТОЛЬКО фоновой картинки херо */
.tm_hero_wrap {
  position: relative;
}

/* Overlay над фоном, но под контентом */
.tm_hero_wrap::before {
  content: "";
  position: absolute;
  inset: 0;

  /* Мягкое равномерное затемнение */
  background: rgba(0, 0, 0, 0.65);

  z-index: 0;
  pointer-events: none;
}
.tm_hero_main {
    position: relative;
}

.tm_hero_main::before {
    content: "";
    position: absolute;
    inset: -40px -60px;

    background: radial-gradient(
        ellipse at center,
        rgba(0,0,0,0.15) 0%,
        rgba(0,0,0,0.75) 70%
    );

    z-index: 0;
    pointer-events: none;
}

.tm_hero_main &gt; * {
    position: relative;
    z-index: 1;
}
#tm-hero-h1{
  font-weight:1000;
  letter-spacing:.015em;
  color:#ffffff;

  text-shadow:
    0 0 10px rgba(255,80,80,.4),
    0 0 22px rgba(255,40,40,.25),
    0 10px 44px rgba(0,0,0,.95);
}

.tm_hero_sub{
  color:rgba(255,220,220,.9);
}

.tm_hero_stats strong{
  color:#fff;
  text-shadow:
    0 0 10px rgba(255,80,80,.35);
}
#tm-hero-h1{
  font-weight:900;
  letter-spacing:.025em;

  background:linear-gradient(90deg,
    #ffffff,
    #e9ddff,
    #b08cff,
    #ffffff
  );
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;

  text-shadow:
    0 0 18px rgba(255, 212, 0, .35),
    0 0 32px rgba(255, 212, 0, .25),
    0 8px 40px rgba(0,0,0,.9);
}


.tm_hero_sub,
.tm_hero_stats{
  color:rgba(235,230,255,.95);
}
/* полностью скрыть кнопки в hero */
.tm_hero_actions {
    display: none !important;
}
/* отступ между RSS ticker и hero */
.tm_hero_wrap{
  margin-top: 14px !important;
}

/* если у hero нет отступа из-за overflow/position — добавим padding сверху */
.tm_hero{
  padding-top: 14px !important;
}
/* ===== CLEAN GRID STRUCTURE ===== */
.tm_hero_side .tm_winner_card{
  display:grid !important;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto auto;
  row-gap:6px;
  column-gap:14px;
  align-items:center;
}

/* WEEKLY WINNER (top-left) */
.tm_hero_side .tm_winner_card .tm_winner_label,
.tm_hero_side .tm_winner_card small:first-of-type{
  grid-column:1;
  grid-row:1;
  font-size:11px;
  letter-spacing:.8px;
  text-transform:uppercase;
  color:rgba(190,205,230,.75);
}

/* NAME (middle-left) */
.tm_hero_side .tm_winner_card strong,
.tm_hero_side .tm_winner_card b{
  grid-column:1;
  grid-row:2;
  font-size:20px;
  font-weight:750;
  color:#fff;
  white-space:nowrap;
  display:inline-block;
  line-height:1.15;
  transform-origin:left center;
}

/* TIME (middle-right) */
.tm_hero_side .tm_winner_card [class*="time"],
.tm_hero_side .tm_winner_card .tm_time,
.tm_hero_side .tm_winner_card .tm_lap_time,
.tm_hero_side .tm_winner_card .tm_bestlap{
  grid-column:2;
  grid-row:2;
  font-size:26px;
  font-weight:850;
  letter-spacing:.5px;
  color:#fff;
  white-space:nowrap;
  display:inline-block;
  line-height:1;
  transform-origin:right center;
}

/* LIVE SERVER STATS (bottom-left) */
.tm_hero_side .tm_winner_card .tm_stats,
.tm_hero_side .tm_winner_card small:last-of-type{
  grid-column:1;
  grid-row:3;
  font-size:11px;
  letter-spacing:.7px;
  text-transform:uppercase;
  color:rgba(190,205,230,.65);
}

/* ===== PULSE (layout-safe) ===== */
@keyframes tmPulseClean {
  0%   { transform:scale(1);   text-shadow:none; }
  50%  { transform:scale(1.035); text-shadow:0 0 10px rgba(34,211,238,.55); }
  100% { transform:scale(1);   text-shadow:none; }
}

.tm_hero_side .tm_winner_card strong,
.tm_hero_side .tm_winner_card b{
  animation:tmPulseClean 1.9s ease-in-out infinite;
}

.tm_hero_side .tm_winner_card [class*="time"],
.tm_hero_side .tm_winner_card .tm_time,
.tm_hero_side .tm_winner_card .tm_lap_time,
.tm_hero_side .tm_winner_card .tm_bestlap{
  animation:tmPulseClean 1.6s ease-in-out infinite;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .tm_hero_side .tm_winner_card *{
    animation:none !important;
  }
}
.tm-login-consents{
  margin:20px auto 0;
  max-width:420px;
  font-size:13px;
  color:#cfd6ff;
}

.tm-consent{
  display:block;
  margin-bottom:10px;
  line-height:1.4;
}

.tm-consent input{
  margin-right:6px;
}

.tm-consent a{
  color:#8fa8ff;
  text-decoration:underline;
}
.tm-login-consents{
  margin:20px auto 0;
  max-width:420px;
  font-size:13px;
  color:#cfd6ff;
}

.tm-consent{
  display:block;
  margin-bottom:10px;
  line-height:1.4;
}

.tm-consent input{
  margin-right:6px;
}

.tm-consent a{
  color:#8fa8ff;
  text-decoration:underline;
}
/* ===== Apple/Discord-style toggles for tm-consents ===== */

#tm-consents.tm-login-consents{
  margin:16px auto 0;
  max-width:560px;
  padding:16px 18px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background: linear-gradient(135deg, rgba(18,18,18,.78), rgba(10,10,10,.84));
  box-shadow: 0 18px 60px rgba(0,0,0,.55), inset 0 0 0 1px rgba(255,255,255,.05);
  backdrop-filter: blur(10px);
}

/* each row like a “settings item” */
#tm-consents .tm-consent{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:0;
  padding:12px 12px;
  border-radius:14px;
  background: rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06);
  color:rgba(235,240,255,.92);
  font-size:13px;
  line-height:1.45;
}

#tm-consents .tm-consent + .tm-consent{ margin-top:10px; }

#tm-consents .tm-consent:hover{
  background: rgba(255,255,255,.045);
  border-color: rgba(255,255,255,.08);
}

/* move checkbox to the right (as a toggle) */
#tm-consents .tm-consent input[type="checkbox"]{
  order:2;
  appearance:none;
  -webkit-appearance:none;
  width:44px;
  height:24px;
  border-radius:999px;
  background: rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  position:relative;
  cursor:pointer;
  flex:0 0 44px;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.25);
  transition: background .18s ease, border-color .18s ease, box-shadow .18s ease;
}

/* toggle knob */
#tm-consents .tm-consent input[type="checkbox"]::after{
  content:"";
  position:absolute;
  top:2px;
  left:2px;
  width:20px;
  height:20px;
  border-radius:999px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 6px 18px rgba(0,0,0,.35);
  transform: translateX(0);
  transition: transform .18s ease;
}

/* ON state */
#tm-consents .tm-consent input[type="checkbox"]:checked{
  background: linear-gradient(135deg, rgba(34,211,238,.82), rgba(255,212,0,.80));
  border-color: rgba(34,211,238,.22);
  box-shadow: 0 0 0 4px rgba(34,211,238,.10), inset 0 0 0 1px rgba(0,0,0,.18);
}

#tm-consents .tm-consent input[type="checkbox"]:checked::after{
  transform: translateX(20px);
}

/* nicer focus */
#tm-consents .tm-consent input[type="checkbox"]:focus{
  outline:none;
  box-shadow: 0 0 0 4px rgba(34,211,238,.12), inset 0 0 0 1px rgba(0,0,0,.18);
}

/* text block (the label content) */
#tm-consents .tm-consent{
  cursor:default;
}
#tm-consents .tm-consent a{
  color: rgba(34,211,238,.82);
  text-decoration:none;
  border-bottom:1px solid rgba(34,211,238,.18);
}
#tm-consents .tm-consent a:hover{
  color:#fff;
  border-bottom-color: rgba(255,255,255,.55);
}

/* REQUIRED badge on first consent */
#tm-consents .tm-consent:first-of-type{
  position:relative;
  padding-left:46px; /* room for badge */
}
#tm-consents .tm-consent:first-of-type::before{
  content:"Required";
  position:absolute;
  left:12px;
  top:12px;
  padding:4px 8px;
  border-radius:999px;
  font-size:11px;
  letter-spacing:.3px;
  color: rgba(255,255,255,.92);
  background: rgba(34,211,238,.12);
  border:1px solid rgba(34,211,238,.16);
}

/* error box in same style */
#tm-consents .tm-consent-error{
  margin-top:12px;
  padding:10px 12px;
  border-radius:14px;
  background: rgba(255,70,70,.10);
  border: 1px solid rgba(255,70,70,.22);
  color: rgba(255,215,215,.95);
  font-size:12.5px;
}

/* mobile */
@media (max-width:520px){
  #tm-consents.tm-login-consents{ padding:14px 14px; border-radius:16px; }
  #tm-consents .tm-consent{ padding:12px 10px; font-size:12.5px; }
  #tm-consents .tm-consent:first-of-type{ padding-left:42px; }
  #tm-consents .tm-consent:first-of-type::before{ left:10px; }
}
/* FORCE Apple/Discord toggles for #tm-consents */

#tm-consents.tm-login-consents{
  margin:16px auto 0 !important;
  max-width:560px !important;
  padding:16px 18px !important;
  border-radius:18px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  background: linear-gradient(135deg, rgba(18,18,18,.78), rgba(10,10,10,.84)) !important;
  box-shadow: 0 18px 60px rgba(0,0,0,.55), inset 0 0 0 1px rgba(255,255,255,.05) !important;
  backdrop-filter: blur(10px) !important;
}

/* Each row like “settings item” */
#tm-consents.tm-login-consents label.tm-consent{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  margin:0 !important;
  padding:12px 12px !important;
  border-radius:14px !important;
  background: rgba(255,255,255,.03) !important;
  border:1px solid rgba(255,255,255,.06) !important;
  color:rgba(235,240,255,.92) !important;
  font-size:13px !important;
  line-height:1.45 !important;
}

#tm-consents.tm-login-consents label.tm-consent + label.tm-consent{
  margin-top:10px !important;
}

#tm-consents.tm-login-consents label.tm-consent:hover{
  background: rgba(255,255,255,.045) !important;
  border-color: rgba(255,255,255,.10) !important;
}

/* Toggle switch (checkbox on the right) */
#tm-consents.tm-login-consents label.tm-consent input[type="checkbox"]{
  order:2 !important;
  appearance:none !important;
  -webkit-appearance:none !important;
  width:44px !important;
  height:24px !important;
  border-radius:999px !important;
  background: rgba(255,255,255,.10) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  position:relative !important;
  cursor:pointer !important;
  flex:0 0 44px !important;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.25) !important;
  transition: background .18s ease, border-color .18s ease, box-shadow .18s ease !important;
  margin:0 !important;
}

/* knob */
#tm-consents.tm-login-consents label.tm-consent input[type="checkbox"]::after{
  content:"" !important;
  position:absolute !important;
  top:2px !important;
  left:2px !important;
  width:20px !important;
  height:20px !important;
  border-radius:999px !important;
  background: rgba(255,255,255,.92) !important;
  box-shadow: 0 6px 18px rgba(0,0,0,.35) !important;
  transform: translateX(0) !important;
  transition: transform .18s ease !important;
}

/* ON */
#tm-consents.tm-login-consents label.tm-consent input[type="checkbox"]:checked{
  background: linear-gradient(135deg, rgba(34,211,238,.82), rgba(255,212,0,.80)) !important;
  border-color: rgba(34,211,238,.22) !important;
  box-shadow: 0 0 0 4px rgba(34,211,238,.10), inset 0 0 0 1px rgba(0,0,0,.18) !important;
}

#tm-consents.tm-login-consents label.tm-consent input[type="checkbox"]:checked::after{
  transform: translateX(20px) !important;
}

#tm-consents.tm-login-consents label.tm-consent input[type="checkbox"]:focus{
  outline:none !important;
  box-shadow: 0 0 0 4px rgba(34,211,238,.12), inset 0 0 0 1px rgba(0,0,0,.18) !important;
}

/* Links */
#tm-consents.tm-login-consents a{
  color: rgba(34,211,238,.82) !important;
  text-decoration:none !important;
  border-bottom:1px solid rgba(34,211,238,.18) !important;
}
#tm-consents.tm-login-consents a:hover{
  color:#fff !important;
  border-bottom-color: rgba(255,255,255,.55) !important;
}

/* REQUIRED badge on first row */
#tm-consents.tm-login-consents label.tm-consent:first-of-type{
  position:relative !important;
  padding-left:46px !important;
}
#tm-consents.tm-login-consents label.tm-consent:first-of-type::before{
  content:"Required" !important;
  position:absolute !important;
  left:12px !important;
  top:12px !important;
  padding:4px 8px !important;
  border-radius:999px !important;
  font-size:11px !important;
  letter-spacing:.3px !important;
  color: rgba(255,255,255,.92) !important;
  background: rgba(34,211,238,.12) !important;
  border:1px solid rgba(34,211,238,.16) !important;
}

/* Error */
#tm-consents.tm-login-consents .tm-consent-error{
  margin-top:12px !important;
  padding:10px 12px !important;
  border-radius:14px !important;
  background: rgba(255,70,70,.10) !important;
  border: 1px solid rgba(255,70,70,.22) !important;
  color: rgba(255,215,215,.95) !important;
  font-size:12.5px !important;
}
#tm-consents.tm-login-consents{
  margin:16px auto 0 !important;
  max-width:560px !important;
  padding:16px 18px !important;
  border-radius:18px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  background: linear-gradient(135deg, rgba(18,18,18,.78), rgba(10,10,10,.84)) !important;
  box-shadow: 0 18px 60px rgba(0,0,0,.55), inset 0 0 0 1px rgba(255,255,255,.05) !important;
  backdrop-filter: blur(10px) !important;
}

#tm-consents.tm-login-consents label.tm-consent{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  margin:0 !important;
  padding:12px 12px !important;
  border-radius:14px !important;
  background: rgba(255,255,255,.03) !important;
  border:1px solid rgba(255,255,255,.06) !important;
  color:rgba(235,240,255,.92) !important;
  font-size:13px !important;
  line-height:1.45 !important;
  cursor:pointer !important;
}

#tm-consents.tm-login-consents label.tm-consent + label.tm-consent{ margin-top:10px !important; }

#tm-consents.tm-login-consents label.tm-consent:hover{
  background: rgba(255,255,255,.045) !important;
  border-color: rgba(255,255,255,.10) !important;
}

#tm-consents.tm-login-consents label.tm-consent input[type="checkbox"]{
  order:2 !important;
  appearance:none !important;
  -webkit-appearance:none !important;
  width:44px !important;
  height:24px !important;
  border-radius:999px !important;
  background: rgba(255,255,255,.10) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  position:relative !important;
  cursor:pointer !important;
  flex:0 0 44px !important;
  margin:0 !important;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.25) !important;
  transition: background .18s ease, border-color .18s ease, box-shadow .18s ease !important;
}

#tm-consents.tm-login-consents label.tm-consent input[type="checkbox"]::after{
  content:"" !important;
  position:absolute !important;
  top:2px !important;
  left:2px !important;
  width:20px !important;
  height:20px !important;
  border-radius:999px !important;
  background: rgba(255,255,255,.92) !important;
  box-shadow: 0 6px 18px rgba(0,0,0,.35) !important;
  transform: translateX(0) !important;
  transition: transform .18s ease !important;
}

#tm-consents.tm-login-consents label.tm-consent input[type="checkbox"]:checked{
  background: linear-gradient(135deg, rgba(34,211,238,.82), rgba(255,212,0,.80)) !important;
  border-color: rgba(34,211,238,.22) !important;
  box-shadow: 0 0 0 4px rgba(34,211,238,.10), inset 0 0 0 1px rgba(0,0,0,.18) !important;
}

#tm-consents.tm-login-consents label.tm-consent input[type="checkbox"]:checked::after{
  transform: translateX(20px) !important;
}

#tm-consents.tm-login-consents a{
  color: rgba(34,211,238,.82) !important;
  text-decoration:none !important;
  border-bottom:1px solid rgba(34,211,238,.18) !important;
}
#tm-consents.tm-login-consents a:hover{ color:#fff !important; border-bottom-color: rgba(255,255,255,.55) !important; }

#tm-consents.tm-login-consents label.tm-consent:first-of-type{
  position:relative !important;
  padding-left:46px !important;
}
#tm-consents.tm-login-consents label.tm-consent:first-of-type::before{
  content:"Required" !important;
  position:absolute !important;
  left:12px !important;
  top:12px !important;
  padding:4px 8px !important;
  border-radius:999px !important;
  font-size:11px !important;
  letter-spacing:.3px !important;
  color: rgba(255,255,255,.92) !important;
  background: rgba(34,211,238,.12) !important;
  border:1px solid rgba(34,211,238,.16) !important;
}

#tm-consents.tm-login-consents .tm-consent-error{
  margin-top:12px !important;
  padding:10px 12px !important;
  border-radius:14px !important;
  background: rgba(255,70,70,.10) !important;
  border: 1px solid rgba(255,70,70,.22) !important;
  color: rgba(255,215,215,.95) !important;
  font-size:12.5px !important;
}
/* =========================================================
GLOBAL MOBILE FIX — footer/menu уехало вниз (Chrome mobile)
ВСТАВИТЬ В Additional CSS (глобально)
========================================================= */

@media (max-width: 820px){

  /* 1) Частая причина "уехало": секции/обёртки с height:100vh */
  body, .tm-layout, .cs_shape_wrap, .container, .site, .site-content, .entry-content{
    min-height: 0 !important;
    height: auto !important;
  }

  /* 2) Запас снизу под cookie / fixed панели, чтобы не перекрывали футер */
  body{
    padding-bottom: 120px !important;
  }

  /* 3) Футер и его контент — только в нормальном потоке */
  footer, .site-footer{
    position: relative !important;
    bottom: auto !important;
    margin-top: 24px !important;
    z-index: 2 !important;
  }

  /* 4) Любые меню внизу страницы — разрешаем перенос, чтобы не "ломало" */
  footer nav,
  footer .menu,
  footer .footer-menu,
  .site-footer nav,
  .site-footer .menu,
  .site-footer .footer-menu,
  .tm-footer nav,
  .tm-footer .menu,
  .tm-footer-menu,
  .cs_footer_menu,
  .cs_footer_nav{
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px 18px !important;
    align-items: center !important;
  }

  /* 5) Если меню UL/LI */
  footer ul,
  .site-footer ul,
  .tm-footer ul{
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px 18px !important;
    padding-left: 0 !important;
    margin: 0 !important;
    list-style: none !important;
  }
  footer li,
  .site-footer li,
  .tm-footer li{
    margin: 0 !important;
  }

  /* 6) Ссылки — не рвём слова, но переносим блоки */
  footer a,
  .site-footer a,
  .tm-footer a{
    white-space: nowrap !important;
  }
}
/* =========================================================
FIX: Mobile "Menu" улетает в подвал (tm_mobile_panel без CSS)
Стили для бургер-меню из твоего JS:
.tm_burger_btn + .tm_mobile_overlay + .tm_mobile_panel
========================================================= */

/* На десктопе скрываем мобильные элементы */
@media (min-width: 992px){
  .tm_burger_btn,
  .tm_mobile_overlay,
  .tm_mobile_panel{
    display: none !important;
  }
}

/* На мобиле делаем overlay/panel фиксированными, чтобы не занимали место внизу */
@media (max-width: 991px){

  .tm_mobile_overlay{
    position: fixed !important;
    inset: 0 !important;
    z-index: 9998 !important;
    background: rgba(0,0,0,.55) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity .18s ease !important;
  }
  .tm_mobile_overlay.is-open{
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  .tm_mobile_panel{
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    height: 100dvh !important;      /* важно для Chrome mobile */
    width: min(88vw, 380px) !important;
    z-index: 9999 !important;

    background: #0b0b0b !important;
    border-left: 1px solid rgba(255,255,255,.10) !important;

    transform: translateX(110%) !important;
    transition: transform .22s cubic-bezier(.2,.8,.2,1) !important;

    display: flex !important;
    flex-direction: column !important;
    box-shadow: -24px 0 60px rgba(0,0,0,.45) !important;
  }
  .tm_mobile_panel.is-open{
    transform: translateX(0) !important;
  }

  .tm_mobile_panel_head{
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 14px 14px !important;
    border-bottom: 1px solid rgba(255,255,255,.10) !important;
  }
  .tm_mobile_panel_title{
    font-weight: 900 !important;
    color: #fff !important;
    letter-spacing: .02em !important;
  }
  .tm_mobile_close{
    width: 38px !important;
    height: 38px !important;
    border-radius: 10px !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    background: rgba(255,255,255,.08) !important;
    cursor: pointer !important;
    position: relative !important;
  }
  .tm_mobile_close:before,
  .tm_mobile_close:after{
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    width: 18px !important;
    height: 2px !important;
    background: #fff !important;
    transform-origin: center !important;
  }
  .tm_mobile_close:before{ transform: translate(-50%,-50%) rotate(45deg) !important; }
  .tm_mobile_close:after{  transform: translate(-50%,-50%) rotate(-45deg) !important; }

  .tm_mobile_panel_body{
    padding: 14px 14px 24px !important;
    overflow: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  /* Стили ссылок меню внутри панели */
  .tm_mobile_panel .cs_nav_list{
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
  }
  .tm_mobile_panel .cs_nav_list a{
    display: block !important;
    padding: 12px 12px !important;
    border-radius: 12px !important;
    text-decoration: none !important;
    color: rgba(255,255,255,.92) !important;
    background: rgba(255,255,255,.06) !important;
    border: 1px solid rgba(255,255,255,.10) !important;
  }
}
/* =========================================================
MOBILE HERO — simplify to essentials
========================================================= */
@media (max-width: 820px){

  /* HERO: меньше высота и паддинги */
  .rvc-hero{
    height: auto !important;
    min-height: 360px !important;
    border-radius: 18px !important;
  }
  .rvc-hero__content{
    padding: 22px 16px !important;
    max-width: 100% !important;
    transform: none !important; /* на всякий, если ранее двигали */
  }

  /* Заголовок — главный */
  .rvc-hero__eyebrow{
    margin-bottom: 10px !important;
    font-size: 11px !important;
    letter-spacing: .14em !important;
  }
  .rvc-hero__title{
    font-size: 34px !important;
    line-height: 1.05 !important;
    margin-bottom: 10px !important;
  }
  .rvc-hero__title span{
    font-size: 18px !important;
    opacity: .92 !important;
  }

  /* Текст — в 2 строки, без “простыней” */
  .rvc-hero__text{
    font-size: 14px !important;
    line-height: 1.5 !important;
    max-width: 100% !important;
    margin-top: 6px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  /* УБИРАЕМ: chips, 3 большие кнопки, соц-иконки (шум) */
  .rvc-hero__chips,
  .rvc-hero__actions,
  .rvc-hero__social{
    display: none !important;
  }

  /* Правило — оставить, но компактно */
  .rvc-hero__rule{
    margin-top: 12px !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
    padding: 10px 12px !important;
    border-radius: 14px !important;
  }
}
/* =========================================================
MOBILE HERO READABILITY — clean, readable, not "mushy"
(only mobile)
========================================================= */

@media (max-width: 820px){

  /* 1) HERO: нормальная геометрия + обрезка */
  .rvc-hero{
    border-radius: 18px !important;
    overflow: hidden !important;
  }

  /* 2) Усиливаем затемнение поверх видео/фона */
  .rvc-hero__dark{
    background:
      radial-gradient(120% 120% at 18% 25%,
        rgba(0,0,0,.92) 0%,
        rgba(0,0,0,.74) 42%,
        rgba(0,0,0,.58) 70%,
        rgba(0,0,0,.70) 100%) !important;
    opacity: 1 !important;
  }

  /* 3) Диагональный слой делаем мягче (он "грязнит" текст) */
  .rvc-hero__diag{
    opacity: .18 !important;
    filter: blur(1.2px) !important;
  }

  /* 4) Контентный блок: стеклянная подложка под текст */
  .rvc-hero__content{
    padding: 22px 16px !important;
    max-width: 100% !important;

    background: rgba(8,8,12,.38) !important;     /* подложка */
    border: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 16px !important;
    margin: 14px 12px 0 !important;

    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;

    box-shadow:
      0 18px 50px rgba(0,0,0,.55) !important,
      inset 0 1px 0 rgba(255,255,255,.10) !important;
  }

  /* 5) Типографика: читабельно */
  .rvc-hero__eyebrow{
    font-size: 11px !important;
    letter-spacing: .16em !important;
    margin-bottom: 10px !important;
    color: #ffd400 !important;
    text-shadow: 0 2px 18px rgba(0,0,0,.85) !important;
  }

  .rvc-hero__title{
    font-size: 32px !important;
    line-height: 1.06 !important;
    margin: 0 0 10px 0 !important;
    letter-spacing: -.02em !important;
    text-shadow: 0 2px 22px rgba(0,0,0,.90) !important;
  }
  .rvc-hero__title span{
    font-size: 18px !important;
    opacity: .95 !important;
  }

  .rvc-hero__text{
    font-size: 14px !important;
    line-height: 1.55 !important;
    color: rgba(255,255,255,.92) !important;
    text-shadow: 0 2px 18px rgba(0,0,0,.90) !important;
    margin: 6px 0 0 !important;
  }

  /* 6) Акцент "Подтверди участие" — чтобы не было бледно */
  .rvc-hero__lead{
    background: rgba(255,212,0,.14) !important;
    border-color: rgba(255,212,0,.30) !important;
    color: #ffe36a !important;
  }

  /* 7) На мобиле убираем всё лишнее (чтобы не выглядело коряво) */
  .rvc-hero__chips,
  .rvc-hero__actions,
  .rvc-hero__social{
    display: none !important;
  }

  /* 8) Правило — компактно, но читабельно */
  .rvc-hero__rule{
    margin-top: 12px !important;
    padding: 10px 12px !important;
    border-radius: 14px !important;
    background: rgba(0,0,0,.28) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
  }
}

/* Extra: если тема даёт слишком светлый/шумный фон шапке вне rvc-hero */
@media (max-width: 820px){
  .cs_hero, .tm-hero, .cs_hero_section{
    background-color: transparent !important;
  }
}
/* =========================================================
MOBILE COLOR &amp; CONTRAST FIX — readable, structured, modern
========================================================= */

@media (max-width: 820px){

  /* ---------- БАЗОВЫЕ ЦВЕТА ---------- */
  body{
    color: #e6e8ee !important;
    background: #0b0b12 !important;
  }

  /* ---------- HERO / HEADER ---------- */
  .rvc-hero__dark{
    background:
      linear-gradient(180deg,
        rgba(10,10,10,.92) 0%,
        rgba(10,10,18,.78) 55%,
        rgba(10,10,10,.92) 100%) !important;
  }

  .rvc-hero__content{
    background:
      linear-gradient(180deg,
        rgba(24,18,42,.55),
        rgba(14,12,26,.55)) !important;
    border: 1px solid rgba(255, 212, 0, .18) !important;
  }

  /* ---------- ЗАГОЛОВКИ ---------- */
  h1, h2, h3,
  .rvc-hero__title{
    color: #f1edff !important;
  }

  .rvc-hero__eyebrow{
    color: #7efcff !important; /* циан */
    opacity: .9 !important;
  }

  /* ---------- ОПИСАНИЕ ---------- */
  p,
  .rvc-hero__text{
    color: #cfd3e6 !important;
  }

  /* ---------- СТАТЫ (DRIVERS / RECORDS и т.п.) ---------- */
  .cs_stat_value,
  .tm_stat_value,
  .stat-value{
    color: #ffffff !important;
    font-weight: 800 !important;
  }

  .cs_stat_label,
  .tm_stat_label,
  .stat-label{
    color: #9aa3c7 !important;
    letter-spacing: .08em !important;
    font-size: 11px !important;
  }

  /* ---------- КАРТОЧКИ / БЛОКИ ---------- */
  .cs_card,
  .tm-card,
  .cs_box,
  .tm-widget,
  .weekly-winner,
  .server-card{
    background:
      linear-gradient(180deg,
        rgba(26,20,48,.75),
        rgba(14,12,28,.75)) !important;
    border: 1px solid rgba(255, 212, 0, .22) !important;
    box-shadow:
      0 12px 40px rgba(0,0,0,.55),
      inset 0 1px 0 rgba(255,255,255,.06) !important;
  }

  /* ---------- WEEKLY WINNER ---------- */
  .weekly-winner,
  .cs_winner_card{
    border-left: 3px solid #9b7bff !important;
  }

  .weekly-winner strong,
  .cs_winner_name{
    color: #ffffff !important;
  }

  /* ---------- ВРЕМЯ КРУГА / РЕКОРД ---------- */
  .lap-time,
  .best-lap,
  .record-time{
    color: #7efcff !important;
    font-weight: 900 !important;
    letter-spacing: .04em !important;
  }

  /* ---------- СЕРВЕР / СТАТУС ---------- */
  .server-online,
  .status-online{
    color: #7dffa7 !important;
  }

  .server-offline,
  .status-offline{
    color: #ff7d7d !important;
  }

  /* ---------- ПИЛЛ-КНОПКИ (UDP / TCP / PASSWORD) ---------- */
  .pill,
  .cs-pill,
  .tm-pill{
    background: rgba(255, 212, 0, .18) !important;
    border: 1px solid rgba(255,212,0,.20) !important;
    color: #ebe7ff !important;
  }

  /* ---------- РАЗДЕЛИТЕЛИ ---------- */
  hr,
  .divider{
    height: 1px !important;
    background: linear-gradient(
      90deg,
      transparent,
      rgba(255,212,0,.20),
      transparent) !important;
    border: none !important;
  }
}   
/* =========================================================
   HERO LAYOUT HARD-RESET (puts everything back “in place”)
   Paste this WHOLE block at the VERY END of Additional CSS.
   It overrides the messy/conflicting rules above.
   ========================================================= */

/* 0) Safety: hero must be a positioning context */
.tm_hero_wrap{
  position: relative !important;
  overflow: hidden !important;
  border-radius: 28px !important;
  min-height: 520px !important;
  margin-top: 14px !important;
}

/* 1) Background video layer (if you use .tm_hero_bg + .tm_hero_bg_video) */
.tm_hero_bg{
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  overflow: hidden !important;
}
.tm_hero_bg_video{
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  transform: translateZ(0) !important;
}

/* 2) Kill any “extra” hero video element that may be sitting on top */
.tm_hero_wrap &gt; .tm_hero_video{
  display: none !important;
}

/* 3) Single clean overlay ABOVE video, BELOW content */
.tm_hero_overlay{
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background:
    radial-gradient(120% 110% at 18% 28%,
      rgba(0,0,0,.78) 0%,
      rgba(0,0,0,.60) 42%,
      rgba(0,0,0,.62) 70%,
      rgba(0,0,0,.80) 100%) !important;
}

/* Disable other overlays/pseudo that were stacking and breaking layout */
.tm_hero_wrap::before{ display:none !important; content:none !important; }
.tm_hero_main::before{ display:none !important; content:none !important; }

/* 4) Make hero content a 2-column grid again */
.tm_hero_wrap{
  display: grid !important;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr) !important;
  gap: 22px !important;
  align-items: start !important;
  padding: 26px 26px !important;
}

/* 5) Ensure content sits ABOVE overlays */
.tm_hero_main,
.tm_hero_side{
  position: relative !important;
  z-index: 5 !important;
  min-width: 0 !important;
}

/* 6) Left column spacing */
.tm_hero_main{
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
}

/* Title/sub readable */
.tm_hero_badge{ margin-bottom: 2px !important; }
.tm_hero_title{ margin: 0 !important; }
.tm_hero_sub{ margin: 0 !important; max-width: 62ch !important; }

/* Stats row stays in one line on desktop */
.tm_hero_stats{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin-top: 6px !important;
}
.tm_stat_item{
  background: rgba(255,255,255,.04) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 14px !important;
  padding: 12px 14px !important;
}

/* Status row + chips align */
.tm_status_row{
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
  align-items: center !important;
  margin-top: 2px !important;
}
.tm_server_row{
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  align-items: center !important;
  margin-top: 2px !important;
}
.tm_server_chip{
  display: inline-flex !important;
  gap: 8px !important;
  align-items: center !important;
  padding: 8px 12px !important;
  border-radius: 999px !important;
  background: rgba(20,20,20,.55) !important;
  border: 1px solid rgba(225, 6, 0, .22) !important;
  backdrop-filter: blur(6px) !important;
}

/* 7) Right column (winner + map) */
.tm_hero_side{
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  padding-top: 2px !important;
}

/* Winner card sizing (prevents giant empty blocks) */
.tm_winner_card{
  width: 100% !important;
  border-radius: 18px !important;
  background: rgba(10,10,12,.50) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  padding: 14px 14px !important;
}

/* Track map block */
.tm_track_map_wrap{
  width: 100% !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  background: rgba(10,10,12,.35) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
}
.tm_track_map_wrap img{
  width: 100% !important;
  height: auto !important;
  display: block !important;
}

/* 8) Mobile: stack columns, keep layout stable */
@media (max-width: 991px){
  .tm_hero_wrap{
    grid-template-columns: 1fr !important;
    padding: 18px 16px !important;
    min-height: 0 !important;
  }
  .tm_hero_stats{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* 9) If you previously hid hero buttons, keep it; otherwise comment next line */
.tm_hero_actions{ display: none !important; 
}

/* =========================================================
HERO compact + right column pushed to the RIGHT
Color palette = “Hotlap” legacy color/dark (like your screenshot)
(works for BOTH variants: .rvc-hero* and .tm_hero*)
Paste at the VERY END of your CSS.
========================================================= */

/* ---------- 1) HERO becomes more compact ---------- */
.rvc-hero,
.rvc-hero--video,
.tm_hero_wrap{
  min-height: 58vh !important;          /* was too tall */
}

.rvc-hero__content,
.rvc-hero .container,
.tm_hero_wrap{
  padding: 34px 42px !important;        /* tighter */
  gap: 26px !important;                 /* tighter */
}

@media (max-width: 1024px){
  .rvc-hero__content,
  .rvc-hero .container,
  .tm_hero_wrap{
    padding: 22px 16px !important;
    gap: 18px !important;
    min-height: unset !important;
  }
}

/* ---------- 2) Grid: keep left text + right column, push right fully right ---------- */
.rvc-hero__content,
.rvc-hero .container{
  display: grid !important;
  grid-template-columns: 1.25fr .75fr !important;
  align-items: center !important;
}

.tm_hero_wrap{
  grid-template-columns: 1.25fr .75fr !important;
  align-items: center !important;
}

/* right side -&gt; stick to the right edge */
.rvc-hero__side,
.tm_hero_side{
  justify-self: end !important;
  align-self: center !important;
  width: min(520px, 100%) !important;
}

/* if your “tiles/cards” are inside a sub-wrap, also push it right */
.rvc-hero__side *{
  margin-left: auto !important;
}

/* ---------- 3) Title/subtitle sizes (compact) ---------- */
.rvc-hero h1,
.rvc-hero__title,
.tm_hero_title{
  font-size: clamp(32px, 4.2vw, 56px) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.02em !important;
  margin-bottom: 10px !important;
  color: #E9E6FF !important;
}

.rvc-hero p,
.rvc-hero__subtitle,
.tm_hero_sub{
  font-size: 15px !important;
  line-height: 1.55 !important;
  color: rgba(233,230,255,.72) !important;
  margin-bottom: 14px !important;
  max-width: 680px !important;
}

/* ---------- 4) “Hotlap” palette: glass + legacy color accents ---------- */
.rvc-hero::before,
.tm_hero_overlay{
  background:
    linear-gradient(90deg,
      rgba(7,7,12,.90) 0%,
      rgba(7,7,12,.68) 45%,
      rgba(7,7,12,.40) 100%) !important;
}

/* universal glass card look */
.tm_stat_item,
.rvc-hero .stat,
.rvc-hero .card,
.tm_hero_side_note,
.tm_hero_side_badge{
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(183,156,255,.18) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 10px 30px rgba(0,0,0,.28) !important;
}

/* =========================
   REMOVE BACKGROUND FRAME
   (Weekly challenge text)
   ========================= */

.tm_hero_side_note,
.tm_hero_side_badge,
.weekly_challenge,
.weekly-challenge,
.hero-note,
.hero-card,
.rvc-hero .card,
.rvc-hero .weekly-card{
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  padding: 0 !important;
}
/* =========================
   ALIGN WEEKLY CHALLENGE TEXT
   ========================= */

.tm_hero_side,
.weekly_challenge,
.weekly-challenge{
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
}

/* заголовок */
.weekly_challenge h4,
.weekly-challenge h4,
.tm_hero_side h4{
  margin: 0 0 8px 0 !important;
  letter-spacing: .12em !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  color: rgba(233,230,255,.65) !important;
}

/* основной текст */
.weekly_challenge p,
.weekly-challenge p,
.tm_hero_side p{
  margin: 0 !important;
  max-width: 320px !important;
  line-height: 1.5 !important;
  color: rgba(233,230,255,.78) !important;
}
/* =========================================
   HOTLAP HERO — WHITE / YELLOW PALETTE
   remove legacy color, match reference Hotlap
   ========================================= */

/* --- remove legacy color tint from hero overlay --- */
.tm_hero_overlay,
.rvc-hero::before{
  background:
    linear-gradient(
      90deg,
      rgba(5,5,8,.88) 0%,
      rgba(5,5,8,.68) 45%,
      rgba(5,5,8,.42) 100%
    ) !important;
}

/* --- small top label (ACC SERVER · RACEVIPCLUB.COM) --- */
.tm_hero_badge,
.tm_hero_badge span{
  color: #FFD84D !important;
  letter-spacing: .12em !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
}

/* --- MAIN TITLE --- */
.tm_hero_title,
.tm_hero_title span{
  color: #FFFFFF !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  text-shadow: none !important; /* kill legacy color glow */
}

/* --- subtitle / description --- */
.tm_hero_sub,
.tm_hero_main p{
  color: rgba(255,255,255,.78) !important;
}

/* --- secondary emphasis lines --- */
.tm_hero_main p strong,
.tm_hero_main p b{
  color: #FFD84D !important;
  font-weight: 700 !important;
}

/* --- stats tiles (Drivers / Tracks / etc.) --- */
.tm_stat_item{
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,216,77,.18) !important;
  box-shadow: none !important;
}

.tm_stat_label{
  color: rgba(255,255,255,.55) !important;
}

.tm_stat_value{
  color: #FFFFFF !important;
}

/* --- online / ping / weather row --- */
.tm_status_row{
  color: rgba(255,255,255,.75) !important;
}

/* --- server chips (SERVER / UDP / TCP / PASSWORD) --- */
.tm_server_chip{
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,216,77,.25) !important;
  color: rgba(255,255,255,.88) !important;
}

.tm_server_chip_label{
  color: rgba(255,255,255,.55) !important;
}

/* --- right column: WEEKLY CHALLENGE / CHAMPION --- */
.tm_hero_side h4{
  color: rgba(255,255,255,.65) !important;
  letter-spacing: .12em !important;
}

.tm_hero_side p{
  color: rgba(255,255,255,.75) !important;
}

/* --- lap time emphasis --- */
.tm_hero_time{
  color: #FFFFFF !important;
  text-shadow: none !important;
}

/* --- track image card --- */
.tm_hero_right_image img{
  border: 1px solid rgba(255,216,77,.18) !important;
  box-shadow: none !important;
}

/* --- HARD KILL any legacy color variables/glow --- */
.tm_hero_wrap{
  --accent: #FFD84D !important;
  --accent-color: #FFD84D !important;
}

.tm_hero_wrap *{
  text-shadow: none !important;
}
/* =========================================================
HERO: COMPACT + TRENDY (front-page dark hero)
- tighter spacing
- cleaner glass cards
- smaller stats tiles
- right column aligned + compact
Paste at the VERY END of your CSS
========================================================= */

/* ---------- overall hero sizing ---------- */
.tm_hero_wrap{
  min-height: 54vh !important;              /* compact */
  padding: 30px 36px !important;            /* compact */
  gap: 22px !important;
  border-radius: 26px !important;
}

@media (max-width: 1024px){
  .tm_hero_wrap{
    padding: 20px 16px !important;
    min-height: unset !important;
    gap: 16px !important;
  }
}

/* ---------- title block tighter ---------- */
.tm_hero_badge{
  margin-bottom: 10px !important;
  font-size: 12px !important;
}

.tm_hero_title{
  font-size: clamp(30px, 4.1vw, 54px) !important;
  line-height: 1.02 !important;
  margin: 0 0 10px 0 !important;
}

.tm_hero_sub{
  font-size: 14.5px !important;
  line-height: 1.5 !important;
  max-width: 660px !important;
  margin: 0 0 14px 0 !important;
}

/* ---------- make right side “stack” compact and aligned ---------- */
.tm_hero_side{
  width: min(500px, 100%) !important;
  justify-self: end !important;
  display: grid !important;
  gap: 14px !important;
  align-content: start !important;
}

/* top right labels (CURRENT SEASON / WEEKLY CHALLENGE) tighter */
.tm_hero_side h4,
.tm_hero_side .tm_side_title,
.tm_hero_side .tm_side_label{
  margin: 0 0 6px 0 !important;
  font-size: 11px !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

/* paragraph on right tighter */
.tm_hero_side p{
  margin: 0 !important;
  line-height: 1.45 !important;
  max-width: 320px !important;
}

/* ---------- trendy glass: lighter borders, less “heavy” ---------- */
.tm_stat_item,
.tm_server_chip,
.tm_status_row,
.tm_hero_side_note,
.tm_hero_side_badge{
  border-radius: 16px !important;
  background: rgba(255,255,255,.055) !important;
  border: 1px solid rgba(255,255,255,.09) !important;
  box-shadow:
    0 10px 30px rgba(0,0,0,.20) !important; /* soft */
  backdrop-filter: blur(12px) !important;
}

/* remove overly thick borders if theme adds them */
.tm_stat_item *{
  box-shadow: none !important;
}

/* ---------- stats tiles: smaller + 4-in-row stays neat ---------- */
.tm_hero_stats{
  gap: 10px !important;
  margin: 12px 0 12px 0 !important;
}

.tm_stat_item{
  padding: 12px 12px !important;
  min-height: 64px !important;
}

.tm_stat_label{
  font-size: 11px !important;
  margin-bottom: 6px !important;
  letter-spacing: .12em !important;
}

.tm_stat_value{
  font-size: 20px !important;
  line-height: 1 !important;
}

/* ---------- status row: compact ---------- */
.tm_status_row{
  padding: 9px 12px !important;
  gap: 10px 14px !important;
  margin: 8px 0 10px 0 !important;
  font-size: 13px !important;
}

/* ---------- chips row: compact + modern ---------- */
.tm_server_row{
  gap: 8px !important;
  margin: 10px 0 0 0 !important;
}

.tm_server_chip{
  padding: 9px 11px !important;
  font-size: 13px !important;
}

.tm_server_chip_label{
  font-size: 10px !important;
  letter-spacing: .14em !important;
}

/* ---------- weekly champion card: tighter, more “premium” ---------- */
.tm_hero_side_badge{
  padding: 12px 14px !important;
}

.tm_hero_time{
  font-size: 34px !important;
  line-height: 1 !important;
}

/* ---------- track image card: smaller and aligned ---------- */
.tm_hero_right_image img{
  border-radius: 16px !important;
  display: block !important;
}

.tm_hero_right_image{
  margin-top: 0 !important;
}

/* ---------- remove extra top spacing if any ---------- */
.tm_hero_main{
  padding-top: 0 !important;
}

/* ---------- MOBILE: keep clean, no cramped tiles ---------- */
@media (max-width: 768px){
  .tm_hero_title{ font-size: 34px !important; }
  .tm_hero_stats{ grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  .tm_stat_item{ min-height: 60px !important; }
  .tm_hero_side{ width: 100% !important; justify-self: stretch !important; }
}
/* =========================================================
HERO FIX (TARGET BY REAL ANCHORS FROM DEVTOOLS)
Goal: undo broken grid + restore original layout
Affects only the video hero: .rvc-hero.rvc-hero--video
========================================================= */

/* 1) container – force classic geometry */
.rvc-hero.rvc-hero--video{
  position: relative !important;
  width: 100% !important;
  height: 520px !important;
  min-height: 520px !important;
  overflow: hidden !important;
  border-radius: 22px !important;
  background: #07060a !important;
  isolation: isolate !important;
  display: block !important;          /* kill flex */
}

/* 2) IMPORTANT: remove grid that is breaking everything */
.rvc-hero.rvc-hero--video .rvc-hero__content{
  display: block !important;          /*  Stats -&gt; Leaderboard
   (Hide video + extra blocks on mobile to match your layout)
   Paste at the VERY END of CSS
   ========================================================= */

@media (max-width: 820px){

  /* Ensure hero is a simple vertical stack */
  .tm_hero_wrap{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 12px !important;
    height: auto !important;
    min-height: unset !important;
  }

  /* 1) Title first */
  .tm_hero_main{
    order: 1 !important;
    padding: 12px 12px 4px !important;
  }

  /* 2) Stats block right after title */
  .tm_hero_stats{
    order: 2 !important;
    margin-top: 6px !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  /* 3) Hide the whole right column (video/track cards) so next is leaderboard */
  .tm_hero_side{
    display: none !important;
  }

  /* Keep hero clean */
  .tm_hero_sub,
  .tm_status_row,
  .tm_server_row,
  .tm_hero_actions{
    display: none !important;
  }

  /* Leaderboard: pulls up right after hero */
  .tm_leaderboard_card{
    margin-top: 10px !important;
  }
}
  /* =========================================================
   HEADER + BURGER FIX (cs_main_header_* + tm_burger_btn)
   - aligns header, fixes “broken” burger icon, cleans top spacing
   Paste at the VERY END of CSS
   ========================================================= */

:root{
  --hdr-h: 60px;
}

/* Header bar sizing + alignment */
.cs_main_header{
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
}

.cs_main_header &gt; *{
  box-sizing: border-box !important;
}

.cs_main_header_inner,
.cs_main_header_row,
.cs_main_header_wrap{
  min-height: var(--hdr-h) !important;
  height: var(--hdr-h) !important;
  display: flex !important;
  align-items: center !important;
}

/* Left/center/right columns */
.cs_main_header_left,
.cs_main_header_center,
.cs_main_header_right{
  display: flex !important;
  align-items: center !important;
  min-height: var(--hdr-h) !important;
}

/* Actions row: keep buttons on one line */
.tm_header_actions{
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  white-space: nowrap !important;
}

/* Fix menu items spacing (My account / Logout) */
.cs_main_header a,
.cs_main_header .menu a,
.cs_main_header .nav a{
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 10px !important;
  border-radius: 12px !important;
  line-height: 1 !important;
  text-decoration: none !important;
}

/* ---------------------------------------------------------
   BURGER BUTTON — rebuild icon (3 clean lines)
   --------------------------------------------------------- */
.tm_burger_btn{
  width: 44px !important;
  height: 44px !important;
  border-radius: 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  background: rgba(0,0,0,0.25) !important;
  padding: 0 !important;
  cursor: pointer !important;
  -webkit-tap-highlight-color: transparent !important;
  position: relative !important;
  overflow: hidden !important;
}

/* Remove any old icon/lines inside button */
.tm_burger_btn &gt; *{
  display: none !important;
}

/* Draw 3 lines with pseudo elements */
.tm_burger_btn::before,
.tm_burger_btn::after{
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  width: 18px !important;
  height: 2px !important;
  background: rgba(255,255,255,0.92) !important;
  border-radius: 2px !important;
  transform: translateX(-50%) !important;
}

/* top + bottom lines */
.tm_burger_btn::before{ top: 15px !important; }
.tm_burger_btn::after{ bottom: 15px !important; }

/* middle line (separate element via box-shadow trick) */
.tm_burger_btn{
  box-shadow:
    0 0 0 0 rgba(0,0,0,0),
    inset 0 0 0 0 rgba(0,0,0,0);
}
.tm_burger_btn::before{
  box-shadow: 0 7px 0 rgba(255,255,255,0.92) !important; /* middle line */
}

/* Hover/active feels nicer */
.tm_burger_btn:hover{
  border-color: rgba(255,255,255,0.22) !important;
  background: rgba(0,0,0,0.32) !important;
}
.tm_burger_btn:active{
  transform: scale(0.98) !important;
}

/* ---------------------------------------------------------
   FIX “ceiling” / top padding issues caused by header
   --------------------------------------------------------- */
body{
  padding-top: 0 !important;
}
main, .site-main, .cs_page, .cs_content{
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Make sure first block doesn’t hide under sticky header */
.cs_main_header + *{
  scroll-margin-top: calc(var(--hdr-h) + 12px) !important;
}

/* Mobile tweaks */
@media (max-width: 820px){
  :root{ --hdr-h: 56px; }

  .cs_main_header_inner,
  .cs_main_header_row,
  .cs_main_header_wrap{
    height: var(--hdr-h) !important;
    min-height: var(--hdr-h) !important;
    padding: 0 10px !important;
  }

  .cs_main_header a{
    padding: 6px 8px !important;
    font-size: 13px !important;
  }

  .tm_burger_btn{
    width: 42px !important;
    height: 42px !important;
    border-radius: 13px !important;
  }
}
/* =========================================================
   FIX: header + burger not changing
   Reason: your real header/burger classes differ.
   This block targets the MOST common WP header/burger selectors
   and forces a clean 3-line burger + correct header height.
   Paste at the VERY END of CSS.
   ========================================================= */

:root{ --hdr-h: 60px; }

/* ---------- HEADER (catch-all) ---------- */
header,
.site-header,
#masthead,
.cs_main_header,
.tm_header,
.rvc_header{
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
}

header .container,
.site-header .container,
#masthead .container,
.cs_main_header_inner,
.cs_main_header_row,
.cs_main_header_wrap{
  min-height: var(--hdr-h) !important;
  height: var(--hdr-h) !important;
  display: flex !important;
  align-items: center !important;
  box-sizing: border-box !important;
}

body{ padding-top: 0 !important; }
main, .site-main, .cs_page, .cs_content{ margin-top: 0 !important; padding-top: 0 !important; }

/* ---------- MENU LINKS (catch-all) ---------- */
header a,
.site-header a,
#masthead a,
.cs_main_header a{
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  line-height: 1 !important;
  text-decoration: none !important;
}

/* ---------- BURGER (catch-all) ---------- */
/* Targets: your tm_burger_btn + common toggles */
.tm_burger_btn,
.menu-toggle,
.hamburger,
.navbar-toggler,
.mobile-menu-toggle,
.elementor-menu-toggle,
.ast-button-wrap .menu-toggle,
.wp-block-navigation__responsive-container-open{
  width: 44px !important;
  height: 44px !important;
  border-radius: 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  cursor: pointer !important;
  -webkit-tap-highlight-color: transparent !important;
  position: relative !important;
  overflow: hidden !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  background: rgba(0,0,0,0.25) !important;
}

/* Hide existing icon lines inside (svg/span) */
.tm_burger_btn &gt; *,
.menu-toggle &gt; *,
.hamburger &gt; *,
.navbar-toggler &gt; *,
.mobile-menu-toggle &gt; *,
.elementor-menu-toggle &gt; *{
  display: none !important;
}

/* Draw 3 lines via pseudo elements (works even if button was empty) */
.tm_burger_btn::before,
.tm_burger_btn::after,
.menu-toggle::before,
.menu-toggle::after,
.hamburger::before,
.hamburger::after,
.navbar-toggler::before,
.navbar-toggler::after,
.mobile-menu-toggle::before,
.mobile-menu-toggle::after,
.elementor-menu-toggle::before,
.elementor-menu-toggle::after{
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  width: 18px !important;
  height: 2px !important;
  background: rgba(255,255,255,0.92) !important;
  border-radius: 2px !important;
  transform: translateX(-50%) !important;
}

/* top + bottom */
.tm_burger_btn::before,
.menu-toggle::before,
.hamburger::before,
.navbar-toggler::before,
.mobile-menu-toggle::before,
.elementor-menu-toggle::before{
  top: 15px !important;
  box-shadow: 0 7px 0 rgba(255,255,255,0.92) !important; /* middle line */
}
.tm_burger_btn::after,
.menu-toggle::after,
.hamburger::after,
.navbar-toggler::after,
.mobile-menu-toggle::after,
.elementor-menu-toggle::after{
  bottom: 15px !important;
}

/* Hover/press feel */
.tm_burger_btn:hover,
.menu-toggle:hover,
.hamburger:hover,
.navbar-toggler:hover,
.mobile-menu-toggle:hover,
.elementor-menu-toggle:hover{
  border-color: rgba(255,255,255,0.22) !important;
  background: rgba(0,0,0,0.32) !important;
}
.tm_burger_btn:active,
.menu-toggle:active,
.hamburger:active,
.navbar-toggler:active,
.mobile-menu-toggle:active,
.elementor-menu-toggle:active{
  transform: scale(0.98) !important;
}

/* ---------- MOBILE TWEAKS ---------- */
@media (max-width: 820px){
  :root{ --hdr-h: 56px; }

  header .container,
  .site-header .container,
  #masthead .container,
  .cs_main_header_inner,
  .cs_main_header_row,
  .cs_main_header_wrap{
    min-height: var(--hdr-h) !important;
    height: var(--hdr-h) !important;
    padding: 0 10px !important;
  }

  .tm_burger_btn,
  .menu-toggle,
  .hamburger,
  .navbar-toggler,
  .mobile-menu-toggle,
  .elementor-menu-toggle,
  .wp-block-navigation__responsive-container-open{
    width: 42px !important;
    height: 42px !important;
    border-radius: 13px !important;
  }
}
/* =========================================================
   CROSS-DEVICE / CROSS-BROWSER BASE (iOS Safari + Android)
   Paste at the VERY END of CSS
   ========================================================= */

/* 0) Prevent horizontal scroll bugs */
html, body { overflow-x: hidden !important; }

/* 1) Safer viewport heights on mobile (iOS Safari address bar bug) */
:root{
  --hdr-h: 56px;
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-bot: env(safe-area-inset-bottom, 0px);
}

/* Use dynamic viewport when supported */
@supports (height: 100dvh){
  .vh-100, .fullvh { height: 100dvh !important; }
}
@supports not (height: 100dvh){
  .vh-100, .fullvh { height: 100vh !important; }
}

/* 2) Sticky header that behaves on iOS */
header, .site-header, #masthead, .cs_main_header, .tm_header, .rvc_header{
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
  transform: translateZ(0); /* iOS sticky repaint fix */
}

/* Ensure header has consistent height */
.cs_main_header_inner,
.cs_main_header_row,
.cs_main_header_wrap,
header .container,
.site-header .container,
#masthead .container{
  min-height: calc(var(--hdr-h) + var(--safe-top)) !important;
  height: calc(var(--hdr-h) + var(--safe-top)) !important;
  padding-top: var(--safe-top) !important;
  display: flex !important;
  align-items: center !important;
  box-sizing: border-box !important;
}

/* 3) Burger button — robust across themes */
.tm_burger_btn,
.menu-toggle,
.hamburger,
.navbar-toggler,
.mobile-menu-toggle,
.elementor-menu-toggle,
.wp-block-navigation__responsive-container-open{
  width: 44px !important;
  height: 44px !important;
  border-radius: 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  position: relative !important;
  overflow: hidden !important;
  -webkit-tap-highlight-color: transparent !important;
  touch-action: manipulation !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  background: rgba(0,0,0,0.25) !important;
}

/* hide theme icon inside */
.tm_burger_btn &gt; *,
.menu-toggle &gt; *,
.hamburger &gt; *,
.navbar-toggler &gt; *,
.mobile-menu-toggle &gt; *,
.elementor-menu-toggle &gt; *{
  display: none !important;
}

/* draw 3 lines */
.tm_burger_btn::before,
.tm_burger_btn::after,
.menu-toggle::before,
.menu-toggle::after,
.hamburger::before,
.hamburger::after,
.navbar-toggler::before,
.navbar-toggler::after,
.mobile-menu-toggle::before,
.mobile-menu-toggle::after,
.elementor-menu-toggle::before,
.elementor-menu-toggle::after{
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  width: 18px !important;
  height: 2px !important;
  background: rgba(255,255,255,0.92) !important;
  border-radius: 2px !important;
  transform: translateX(-50%) !important;
}
.tm_burger_btn::before,
.menu-toggle::before,
.hamburger::before,
.navbar-toggler::before,
.mobile-menu-toggle::before,
.elementor-menu-toggle::before{
  top: 15px !important;
  box-shadow: 0 7px 0 rgba(255,255,255,0.92) !important; /* middle line */
}
.tm_burger_btn::after,
.menu-toggle::after,
.hamburger::after,
.navbar-toggler::after,
.mobile-menu-toggle::after,
.elementor-menu-toggle::after{
  bottom: 15px !important;
}

/* 4) Mobile menu panel: stop “ceiling/jump” + allow scroll */
.mobile-nav,
.tm_mobile_nav,
.rvc_mobile_nav,
.site-navigation.toggled,
.nav-menu.is-open,
.wp-block-navigation__responsive-container.is-menu-open{
  max-height: calc(100vh - (var(--hdr-h) + var(--safe-top))) !important;
  overflow: auto !important;
  -webkit-overflow-scrolling: touch !important;
}

 /* =========================================================
KILL legacy color HALO / GLOW AROUND MENU BUTTONS (HARD OVERRIDE)
PUT AT THE VERY END
========================================================= */

/* 1) Kill any shadow/outline on menu links + buttons */
header a,
header button,
nav a,
nav button,
.menu a,
.menu button,
[class*="menu"] a,
[class*="nav"] a,
a,
button{
  outline: 0 !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
}

/* 2) Kill focus rings everywhere (theme often uses focus-visible) */
*:focus,
*:focus-visible,
*:active{
  outline: 0 !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
}

/* 3) Theme glow is VERY often drawn via pseudo elements */
header a::before, header a::after,
nav a::before, nav a::after,
.menu a::before, .menu a::after,
[class*="menu"] a::before, [class*="menu"] a::after,
[class*="nav"] a::before,  [class*="nav"] a::after,
button::before, button::after{
  content: none !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  filter: none !important;
  -webkit-filter: none !important;
  opacity: 0 !important;
}

/* 4) If glow is done via FILTER on wrappers (drop-shadow/blur) */
header,
nav,
.menu,
[class*="menu"],
[class*="nav"],
[class*="header"]{
  filter: none !important;
  -webkit-filter: none !important;
}

/* 5) Some themes apply glow on "current/active" menu item */
.current-menu-item &gt; a,
.current_page_item &gt; a,
.current-menu-ancestor &gt; a,
.menu-item &gt; a:focus,
.menu-item &gt; a:hover,
.menu-item &gt; a:active{
  outline: 0 !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  filter: none !important;
  -webkit-filter: none !important;
}

/* 6) If theme uses text glow */
header a,
nav a,
.menu a{
  text-shadow: none !important;
}
.rvc-terms-consent{
  margin-top:40px;
  padding:20px;
  border-radius:14px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.12);
}

.rvc-terms-toggle{
  display:flex;
  align-items:center;
  gap:14px;
  cursor:pointer;
}

.rvc-terms-toggle input{
  display:none;
}

.rvc-slider{
  width:48px;
  height:26px;
  border-radius:999px;
  background:#333;
  position:relative;
}

.rvc-slider::after{
  content:"";
  position:absolute;
  width:20px;
  height:20px;
  border-radius:50%;
  background:#fff;
  top:3px;
  left:3px;
  transition:.2s;
}

.rvc-terms-toggle input:checked + .rvc-slider{
  background:#ffd400;
}

.rvc-terms-toggle input:checked + .rvc-slider::after{
  left:25px;
}



/* ------------------------------
   3) Hero reset for mobile
   Your CSS contains several conflicting hero blocks.
   This block forces one clean mobile stack.
   ------------------------------ */
@media (max-width: 820px){
  .tm_hero_wrap,
  .rvc-hero,
  .rvc-hero--video{
    display:grid !important;
    grid-template-columns:1fr !important;
    min-height:auto !important;
    height:auto !important;
    padding:14px !important;
    gap:12px !important;
    overflow:hidden !important;
    border-radius:18px !important;
  }

  .tm_hero_main,
  .tm_hero_side,
  .rvc-hero__content,
  .rvc-hero__side{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    justify-self:stretch !important;
    align-self:start !important;
  }

  .tm_hero_main{ order:1 !important; }
  .tm_hero_side{ order:2 !important; }

  /* Keep only essential hero info on mobile */
  .tm_hero_sub,
  .tm_status_row,
  .tm_server_row,
  .tm_hero_actions,
  .tm_weekly_challenge,
  .tm_weekly_challenge_wrap,
  .tm_winner_card{
    display:none !important;
  }

  .tm_hero_title,
  .rvc-hero__title{
    font-size:24px !important;
    line-height:1.05 !important;
    margin:6px 0 8px !important;
  }

  .tm_hero_stats{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
    margin-top:8px !important;
  }

  .tm_stat_item{
    min-height:62px !important;
    padding:10px !important;
  }

 

  .tm_hero_right_image img,
  .tm_track_map_wrap img{
    width:100% !important;
    height:auto !important;
    border-radius:14px !important;
  }

  /* If hero video remains visible, keep it compact */
  .tm_hero_bg video,
  .tm_hero_video video,
  .rvc-hero__video{
    width:100% !important;
    height:190px !important;
    object-fit:cover !important;
    object-position:center !important;
  }
}

/* ------------------------------
   4) Personal / focus / coaching blocks
   One-column on mobile, compact
   ------------------------------ */
@media (max-width: 820px){
  .tm-grid,
  .tm-grid-4,
  .turnir-my-driver-hub .tm-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  .tm-card{
    padding:14px !important;
    border-radius:16px !important;
  }

  .tm-card h3{ font-size:22px !important; }
  .tm-box{ padding:10px 12px !important; }
  .tm-box strong{ font-size:20px !important; }
}

/* ------------------------------
   5) Live feed mobile mode
   Collapsed by default and cleaner
   ------------------------------ */
.tm-live-feed-collapsible .tm-live-feed-body{
  max-height:0;
  overflow:hidden;
  transition:max-height .28s ease;
}
.tm-live-feed-collapsible.open .tm-live-feed-body{
  max-height:720px;
}

@media (max-width: 820px){
  .live-feed-item,
  .feed-item,
  .tm-live-feed-collapsible li{
    padding:10px !important;
    border-radius:12px !important;
    margin-bottom:8px !important;
  }
}

/* ------------------------------
   6) Compact live cards on mobile
   ------------------------------ */
@media (max-width: 820px){
  .live-now-grid,
  .live-drivers,
  .tm_live_cards{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  .driver-card,
  .live-card{
    padding:12px !important;
    border-radius:14px !important;
    min-width:0 !important;
  }

  .driver-card h4,
  .live-card h4{
    font-size:18px !important;
    line-height:1.1 !important;
  }
}

/* ------------------------------
   7) Mobile leaderboard cards
   Show cards, hide wide table on small screens
   ------------------------------ */
@media (max-width: 640px){
  .tm-mobile-leaderboard-cards{
    display:block !important;
  }

  .tm-leaderboard-table-wrap,
  .leaderboard-table-wrap,
  .tm_leaderboard_table_wrap{
    display:none !important;
  }

  .tm-lb-card{
    background:linear-gradient(180deg, rgba(38,24,56,.76), rgba(20,14,34,.9)) !important;
    border:1px solid rgba(255,255,255,.07) !important;
    border-radius:16px !important;
    padding:12px !important;
    margin-bottom:10px !important;
  }
}

/* ------------------------------
   8) Bottom sticky nav for iPhone / mobile
   ------------------------------ */
@media (max-width: 900px){
  body{
    padding-bottom:calc(84px + env(safe-area-inset-bottom)) !important;
  }

  .tm-mobile-sticky-nav{
    position:fixed !important;
    left:10px !important;
    right:10px !important;
    bottom:max(10px, env(safe-area-inset-bottom)) !important;
    z-index:9999 !important;
    display:grid !important;
    grid-template-columns:repeat(4,1fr) !important;
    gap:8px !important;
    padding:8px !important;
    background:rgba(8,10,12,.86) !important;
    border:1px solid rgba(255,255,255,.08) !important;
    border-radius:18px !important;
    backdrop-filter:blur(16px) !important;
    box-shadow:0 12px 30px rgba(0,0,0,.28) !important;
  }

  .tm-mobile-sticky-nav a{
    min-height:50px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:4px !important;
    text-decoration:none !important;
    color:#fff !important;
    font-size:11px !important;
  }
}

/* ------------------------------
   9) IMPORTANT: remove the destructive universal mobile rule
   The one you pasted:
   * { max-width:100vw !important; }
   That rule is a major reason desktop/mobile mixes break.
   We cannot truly "unset" it globally, so we reopen needed widths.
   ------------------------------ */
@media (max-width: 1024px){
  table{ max-width:none !important; }
  .container, .wrap, .hero, .tm_hero_wrap, .rvc-hero{ max-width:none !important; }
  .tm_mobile_panel{ max-width:none !important; }
}

/* ------------------------------
   10) If your accidental top personal block appears, hide it only there
   ------------------------------ */
#my-driver-hub.turnir-my-driver-hub--misplaced,
.turnir-my-driver-hub--misplaced{
  display:none !important;
}
/* =========================================================
   SAFE MOBILE OPEN FIX
   Не ломает десктоп и не трогает концепт
   ========================================================= */

@media (max-width: 991px){

  html,
  body{
    width: 100%;
    max-width: 100%;
    overflow-x: hidden !important;
  }

  body{
    -webkit-text-size-adjust: 100%;
  }

  .container,
  #page,
  .site,
  .site-content,
  main,
  section{
    min-width: 0 !important;
  }

  img,
  video{
    max-width: 100% !important;
    height: auto !important;
    display: block;
  }

  #tm-site-header .cs_main_header_center{
    display: none !important;
  }

  .tm_burger_btn{
    display: inline-flex !important;
    width: 42px !important;
    height: 42px !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .tm_mobile_overlay{
    position: fixed !important;
    inset: 0 !important;
    z-index: 9998 !important;
    background: rgba(0,0,0,.55) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity .2s ease !important;
  }

  .tm_mobile_overlay.is-open{
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  .tm_mobile_panel{
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    width: min(88vw, 380px) !important;
    height: 100dvh !important;
    z-index: 9999 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    transform: translateX(110%) !important;
    transition: transform .22s ease !important;
  }

  .tm_mobile_panel.is-open{
    transform: translateX(0) !important;
  }

  .tm_mobile_panel .cs_nav_list{
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  .tm_mobile_panel .cs_nav_list a{
    display: block !important;
    padding: 12px !important;
    border-radius: 12px !important;
  }
}
	
	@media (max-width: 991px){

  html, body{
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  .container,
  .wrapper,
  .wrap,
  #page,
  .site,
  .site-content,
  .cs_site_content,
  .cs_main_content,
  main,
  section{
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  #tm-site-header .cs_main_header_center{
    display: none !important;
  }

  .tm_burger_btn{
    display: inline-flex !important;
  }

  .tm_mobile_overlay{
    position: fixed !important;
    inset: 0 !important;
    z-index: 9998 !important;
    background: rgba(0,0,0,.55) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity .2s ease !important;
  }

  .tm_mobile_overlay.is-open{
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  .tm_mobile_panel{
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    width: min(88vw, 380px) !important;
    height: 100dvh !important;
    z-index: 9999 !important;
    background: #0b0b0b !important;
    transform: translateX(100%) !important;
    transition: transform .22s ease !important;
    overflow-y: auto !important;
  }

  .tm_mobile_panel.is-open{
    transform: translateX(0) !important;
  }

  .tm_hero_wrap{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    min-height: auto !important;
    height: auto !important;
    padding: 14px !important;
  }

  .tm_hero_main,
  .tm_hero_side{
    width: 100% !important;
    max-width: 100% !important;
  }

  .tm_hero_stats{
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 8px !important;
  }

  .tm_status_row,
  .tm_server_row{
    display: none !important;
  }

  .tm_hero_sub{
    display: none !important;
  }

  .tm_winner_card{
    display: none !important;
  }

  .tm_hero_right_image,
  .tm_track_map_wrap{
    width: 100% !important;
    max-width: 100% !important;
  }

  .tm_hero_right_image img,
  .tm_track_map_wrap img,
  .tm_hero_bg video,
  .tm_hero_video video{
    width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
    border-radius: 14px !important;
  }
}