/* =====================================================================
   CYBERX v69 — final consistency and correction layer
   Подключается после всех page-specific CSS.
===================================================================== */

:root{
  --red:#ff0033 !important;
  --red-2:#d9002b !important;
  --accent:#ff0033;
  --line-red:rgba(255,0,51,.38) !important;
  --glow-red:0 0 28px rgba(255,0,51,.38) !important;
}

/* Базовые правила, чтобы не было белых блоков при конфликте CSS */
html{background:#050507;}
body{background-color:#050507 !important;color:var(--text,#f5f5f8);}
main{overflow:hidden;}

/* Логотипы и заголовки используют только общую пару шрифтов */
.brand,
.loader-logo,
.hero-colizeum__word,
.config-slide__label b,
.config-slide__title,
.game-showcase-card__title,
.peripheral-showcase-card h3,
.account-page h1,
.admin-logo,
.cx-admin__brand{
  font-family:var(--font-display,"Unbounded",sans-serif) !important;
}

.brand b,
.loader-logo span,
.hero-colizeum__x,
.text-red,
.accent{
  color:#ff0033 !important;
  text-shadow:0 0 22px rgba(255,0,51,.32);
}

/* Стандартизированные карточки главной — устраняет визуальный сбой около блока «О нас» */
.about-grid--premium .flip-card{
  min-width:0;
  color:var(--text,#f5f5f8);
  background:transparent !important;
}

.about-grid--premium .flip-card__inner{
  min-height:285px;
  background:transparent !important;
}

.about-grid--premium .flip-card__face{
  color:var(--text,#f5f5f8) !important;
  background:
    radial-gradient(320px 180px at 100% 0%, rgba(255,0,51,.18), transparent 62%),
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.015)),
    var(--surface,#111116) !important;
  overflow:hidden;
}

.about-grid--premium .flip-card__title{
  color:var(--text,#f5f5f8) !important;
}

.about-grid--premium .flip-card__text{
  color:var(--muted,rgba(245,245,248,.58)) !important;
}

.about-grid--premium .flip-card__hint{
  color:#fff !important;
  border-color:rgba(255,0,51,.42) !important;
  background:rgba(255,0,51,.10) !important;
}

/* Единый красный для интерактивных элементов */
.btn-primary,
.hero-colizeum__cta,
.loop-slider__dots button.is-active,
.disc,
.cx-admin__primary-btn{
  background:linear-gradient(135deg,#ff0033,#d9002b) !important;
  border-color:#ff0033 !important;
}

.btn-primary:hover,
.hero-colizeum__cta:hover,
.cx-admin__primary-btn:hover{
  box-shadow:0 14px 34px rgba(255,0,51,.28) !important;
}

/* Правильные контраст и размеры у полей на всех страницах */
input,
textarea,
select{
  color:#fff !important;
  caret-color:#ff0033;
}

input:focus,
textarea:focus,
select:focus{
  border-color:rgba(255,0,51,.54) !important;
  box-shadow:0 0 0 3px rgba(255,0,51,.09) !important;
}

/* Исправление переполнения в шапке */
.nav-links{
  min-width:0;
}
.nav-links a{
  white-space:nowrap;
}

@media (max-width:1100px){
  .header{position:relative !important;}
  .nav{
    padding-top:4px;
    padding-bottom:4px;
  }
  .nav-pill--links{
    width:100%;
    overflow-x:auto;
    justify-content:flex-start;
    scrollbar-width:none;
  }
  .nav-pill--links::-webkit-scrollbar{display:none;}
  .nav-links a{flex:0 0 auto;}
}

/* Публичные каталоги: корректная обрезка изображений и одинаковая высота */
.config-slide__photo img,
.peripheral-showcase-card__photo img,
.game-showcase-card__photo img,
.config-card__media img{
  object-fit:cover;
  object-position:center;
}

/* Если изображения отсутствуют, заглушки остаются аккуратными */
.config-slide__photo.is-empty,
.peripheral-showcase-card__photo.is-empty,
.game-showcase-card__photo.is-empty,
.config-card__media.is-empty{
  display:flex;
  align-items:center;
  justify-content:center;
  background:
    radial-gradient(circle at 50% 0, rgba(255,0,51,.15), transparent 60%),
    rgba(0,0,0,.22);
}

/* Админка — один чистый красный, без розовых оттенков */
.cx-admin{
  --cx-admin-red:#ff0033;
  --cx-admin-red-soft:rgba(255,0,51,.13);
}

.cx-admin__avatar,
.cx-admin__user-avatar{
  background:#ff0033 !important;
  box-shadow:0 10px 26px rgba(255,0,51,.24) !important;
}

.cx-admin__primary-btn{
  background:#ff0033 !important;
  box-shadow:0 11px 26px rgba(255,0,51,.22) !important;
}

.cx-admin__primary-btn:hover{
  background:#d9002b !important;
}

.cx-admin__danger-btn{
  color:#ff4d4d !important;
  border-color:rgba(255,0,51,.28) !important;
  background:rgba(255,0,51,.08) !important;
}

.cx-admin__danger-btn:hover{
  background:rgba(255,0,51,.16) !important;
}

/* Меньше дорогих эффектов на слабых устройствах */
@media (max-width:900px), (prefers-reduced-motion: reduce){
  body::before{background-size:72px 72px;}
  .header,
  .nav-pill,
  .cx-admin__sidebar,
  .cx-admin__topbar{
    backdrop-filter:none !important;
  }
  .about-grid--premium .flip-card::before{
    filter:none !important;
  }
  .loop-slider__track{
    will-change:auto;
  }
  *,
  *::before,
  *::after{
    scroll-behavior:auto !important;
  }
}

/* Оптимизация длинных списков */
.peripheral-showcase-card,
.game-showcase-card,
.promo-card,
.review-card,
.cx-admin__item,
.cx-admin__booking,
.cx-admin__review,
.cx-admin__user{
  contain:layout paint;
}

@media (max-width:720px){
  .about-grid--premium .flip-card__inner,
  .about-grid--premium .flip-card__face{
    min-height:255px;
  }
}
