/**
 * @file: racing-dark.css
 * @description: Dark Racing Luxury layer for PLUS PROJECT GT dark theme.
 * @dependencies: variables.css, themes/dark.css, events.css
 * @created: 2026-05-18
 */

  [data-theme="dark"] body {
    background-color: var(--bg-primary, #07090d) !important;
    background-image:
      repeating-linear-gradient(45deg, rgba(118, 132, 148, 0.18) 0 1px, transparent 1px 8px),
      repeating-linear-gradient(-45deg, rgba(52, 63, 78, 0.18) 0 1px, transparent 1px 8px),
      radial-gradient(circle at 18% 0%, rgba(255, 43, 43, 0.14), transparent 28rem),
      radial-gradient(circle at 88% 12%, rgba(200, 164, 93, 0.08), transparent 24rem),
      linear-gradient(180deg, rgba(7, 9, 13, 0.74), rgba(7, 9, 13, 0.86)),
      url("../../img/theme/racing-dark/noise.svg"),
      url("../../img/theme/racing-dark/asphalt-subtle.svg") !important;
    background-attachment: scroll;
    background-size: auto, auto, auto, auto, auto, 384px 384px, 512px 512px;
    background-repeat: repeat, repeat, no-repeat, no-repeat, no-repeat, repeat, repeat;
    background-blend-mode: normal;
    color: var(--text-primary);
    font-family: var(--font-body);
  }

  [data-theme="dark"] body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
      linear-gradient(115deg, transparent 0%, rgba(255, 255, 255, 0.03) 38%, transparent 58%),
      linear-gradient(90deg, transparent, rgba(255, 43, 43, 0.06), transparent) 0 18% / 45% 1px no-repeat,
      linear-gradient(90deg, transparent, rgba(200, 164, 93, 0.05), transparent) 100% 72% / 50% 1px no-repeat;
    opacity: 0.48;
  }

  [data-theme="dark"] :is(h1, h2, h3, .navbar-brand, .event-card-title, .card-title, .leaderboard-title h3) {
    font-family: var(--font-display);
    letter-spacing: 0.025em;
  }

  [data-theme="dark"] .navbar.bg-primary,
  [data-theme="dark"] .navbar {
    background:
      linear-gradient(180deg, rgba(19, 24, 32, 0.90) 0%, rgba(12, 16, 21, 0.92) 100%),
      url("../../img/theme/racing-dark/carbon-tile.svg") !important;
    background-size: auto, 140px 140px;
    border-bottom: 1px solid rgba(255, 40, 40, 0.25);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45), 0 1px 0 rgba(255, 43, 43, 0.18);
  }

  [data-theme="dark"] .navbar-brand,
  [data-theme="dark"] .navbar-nav .nav-link {
    color: var(--text-primary) !important;
    text-shadow: 0 0 16px rgba(255, 43, 43, 0.10);
  }

  [data-theme="dark"] .navbar-nav .nav-link:is(:hover, :focus, .active),
  [data-theme="dark"] .navbar .dropdown-toggle.show {
    color: #ffffff !important;
    background: rgba(255, 43, 43, 0.08);
    border-radius: var(--radius);
    box-shadow: inset 0 -1px 0 rgba(255, 43, 43, 0.32);
  }

  [data-theme="dark"] .dropdown-menu {
    background:
      linear-gradient(145deg, rgba(17, 22, 29, 0.90), rgba(11, 15, 20, 0.92)),
      url("../../img/theme/racing-dark/carbon-tile.svg") !important;
    background-size: auto, 140px 140px;
    border: 1px solid rgba(255, 40, 40, 0.16);
    box-shadow: var(--shadow-lg), var(--glow-red-sm);
  }

  [data-theme="dark"] .dropdown-item:is(:hover, :focus) {
    background: rgba(255, 43, 43, 0.10);
    color: #ffffff;
  }

  [data-theme="dark"] .card,
  [data-theme="dark"] .racing-panel {
    background: linear-gradient(145deg, rgba(17, 22, 29, 0.88), rgba(11, 15, 20, 0.92)) !important;
    border: 1px solid rgba(255, 40, 40, 0.12);
    box-shadow: var(--shadow-panel);
  }

  [data-theme="dark"] .section-header,
  [data-theme="dark"] .ds-cardHeader--primary {
    background:
      linear-gradient(180deg, rgba(31, 36, 43, 0.86), rgba(12, 16, 21, 0.90)),
      url("../../img/theme/racing-dark/carbon-tile.svg") !important;
    background-size: auto, 140px 140px;
    border-bottom: 1px solid rgba(255, 40, 40, 0.22);
    color: var(--text-primary);
  }

  [data-theme="dark"] .btn-primary,
  [data-theme="dark"] .bg-primary {
    background: var(--gradient-primary) !important;
    border-color: rgba(255, 43, 43, 0.72) !important;
    color: #ffffff !important;
    box-shadow: 0 0 15px rgba(255, 0, 0, 0.25);
  }

  [data-theme="dark"] .btn-primary:is(:hover, :focus),
  [data-theme="dark"] .btn-outline-primary:is(:hover, :focus) {
    transform: translateY(-1px);
    box-shadow: 0 0 25px rgba(255, 40, 40, 0.40);
  }

  [data-theme="dark"] .btn-outline-primary {
    color: #ff9a9a;
    border-color: rgba(255, 43, 43, 0.48);
    background: rgba(255, 43, 43, 0.06);
  }

  [data-theme="dark"] .btn-outline-primary:hover {
    background: rgba(255, 43, 43, 0.18);
    color: #ffffff;
  }

  [data-theme="dark"] .btn:focus-visible,
  [data-theme="dark"] .form-control:focus,
  [data-theme="dark"] .form-select:focus {
    border-color: rgba(255, 43, 43, 0.68);
    box-shadow: 0 0 0 0.2rem rgba(255, 43, 43, 0.22);
  }

  /* Текстуры на отдельном слое ::after — ::before занят полоской championship-card */
  [data-theme="dark"] .event-card {
    isolation: isolate;
    contain: paint;
    background-color: var(--bg-panel, #11161d) !important;
    background-image: none !important;
    border: 1px solid rgba(255, 40, 40, 0.15);
    box-shadow: var(--shadow), inset 0 0 18px rgba(255, 43, 43, 0.02);
  }

  [data-theme="dark"] .event-card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    border-radius: inherit;
    background:
      linear-gradient(120deg, transparent 0%, rgba(255, 255, 255, 0.045) 40%, transparent 64%),
      linear-gradient(45deg, rgba(255, 255, 255, 0.018) 0 1px, transparent 1px 8px);
    opacity: 0.62;
  }

  [data-theme="dark"] .event-card.championship-card::before,
  [data-theme="dark"] .event-card.standalone-race-card::before {
    z-index: 2;
  }

  [data-theme="dark"] .event-card > :is(.event-card-header, .event-card-body, .event-card-footer) {
    position: relative;
    z-index: 1;
  }

  [data-theme="dark"] .event-card:hover {
    border-color: rgba(255, 43, 43, 0.36);
    box-shadow: var(--shadow-lg), 0 0 18px rgba(255, 40, 40, 0.16);
    transform: translateY(-2px);
  }

  [data-theme="dark"] .event-card-header,
  [data-theme="dark"] .event-card-footer {
    background: linear-gradient(180deg, rgba(31, 36, 43, 0.52), rgba(12, 16, 21, 0.58)) !important;
    border-color: rgba(255, 40, 40, 0.14);
  }

  [data-theme="dark"] .event-card-body {
    background: transparent !important;
  }

  [data-theme="dark"] .event-card-title a,
  [data-theme="dark"] .event-card-title {
    color: #ffffff;
  }

  [data-theme="dark"] .event-info-item i,
  [data-theme="dark"] .event-cars-title i,
  [data-theme="dark"] .participation-stat-number {
    color: var(--accent-red-glow);
    text-shadow: 0 0 8px rgba(255, 43, 43, 0.22);
  }

  [data-theme="dark"] .event-date-block,
  [data-theme="dark"] .event-countdown,
  [data-theme="dark"] .time-indicator-badge {
    background: linear-gradient(145deg, rgba(139, 17, 17, 0.22), rgba(31, 36, 43, 0.72));
    border: 1px solid rgba(255, 40, 40, 0.28);
    color: var(--text-primary);
    box-shadow: var(--glow-red-sm);
  }

  [data-theme="dark"] .event-car-tag {
    background: rgba(31, 36, 43, 0.86) !important;
    border: 1px solid rgba(255, 40, 40, 0.14);
    color: var(--text-secondary) !important;
  }

  [data-theme="dark"] .badge.bg-secondary {
    background: var(--secondary) !important;
    border: 1px solid rgba(255, 40, 40, 0.18);
    color: #000 !important;
  }

  /* Мета-текст в списках карточек (стримы, архив чемпионатов) */
  [data-theme="dark"] .card .list-group-item :is(.text-muted, .small.text-muted) {
    color: var(--text-secondary) !important;
  }

  [data-theme="dark"] .list-group-item {
    background: linear-gradient(145deg, rgba(17, 22, 29, 0.94), rgba(11, 15, 20, 0.94));
    border-color: rgba(255, 40, 40, 0.10);
  }

  [data-theme="dark"] .list-group-item-action:hover {
    background: rgba(255, 43, 43, 0.08);
    color: #ffffff;
  }

  [data-theme="dark"] .table,
  [data-theme="dark"] .table-responsive .table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--text-primary);
    --bs-table-border-color: rgba(255, 40, 40, 0.12);
    color: var(--text-primary);
    border-color: rgba(255, 40, 40, 0.12);
  }

  [data-theme="dark"] .table thead th {
    background: linear-gradient(180deg, rgba(31, 36, 43, 0.98), rgba(12, 16, 21, 0.98));
    color: var(--text-primary);
    border-bottom: 1px solid rgba(255, 40, 40, 0.32);
    font-family: var(--font-display);
    letter-spacing: 0.035em;
  }

  [data-theme="dark"] .table tbody tr {
    border-color: rgba(255, 40, 40, 0.10);
  }

  [data-theme="dark"] .table-hover > tbody > tr:hover > * {
    background: rgba(255, 43, 43, 0.075);
    color: #ffffff;
  }

  /* Топ-3 только по классу (глобальное место в рейтинге), не nth-child — иначе подсветка на каждой странице пагинации */
  [data-theme="dark"] .rating-page .rating-table tbody tr.rating-row--gold > * {
    box-shadow: inset 3px 0 0 var(--gold), var(--glow-gold-md);
  }

  [data-theme="dark"] .rating-page .rating-table tbody tr.rating-row--silver > * {
    box-shadow: inset 3px 0 0 #b8c0c8, 0 0 22px rgba(184, 192, 200, 0.14);
  }

  [data-theme="dark"] .rating-page .rating-table tbody tr.rating-row--bronze > * {
    box-shadow: inset 3px 0 0 #b87945, 0 0 22px rgba(184, 121, 69, 0.14);
  }

  [data-theme="dark"] .racing-glow {
    box-shadow: var(--glow-red-md);
  }

  [data-theme="dark"] .racing-carbon-edge {
    border: 1px solid rgba(255, 40, 40, 0.16);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05), var(--glow-red-sm);
  }

  [data-theme="dark"] .horizontal-leaderboard::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
      linear-gradient(90deg, transparent, rgba(255, 43, 43, 0.18), transparent) 0 28% / 45% 1px no-repeat,
      linear-gradient(90deg, transparent, rgba(255, 43, 43, 0.12), transparent) 100% 72% / 55% 1px no-repeat;
    opacity: 0.8;
  }

