/* ============================================================
   Limes VPN — фирменная тема веб-кабинета.
   Слой поверх стандартного кабинета Bedolaga: только внешний вид,
   разметка и функции не меняются. Подключается nginx-ом (sub_filter).
   ============================================================ */

:root {
  --limes-red: 208, 16, 28;
  --limes-red-hi: 227, 33, 44;
  --limes-red-deep: 74, 5, 10;
  --limes-bg: #050506;
  --limes-surface: #0c0c0e;
  --limes-line: rgba(255, 255, 255, 0.07);
  --limes-line-strong: rgba(255, 255, 255, 0.12);
  --bento-radius: 20px;
  --bento-radius-lg: 24px;
  color-scheme: dark;
}

/* ---------- фон: глубокий чёрный + приглушённое бордовое свечение ---------- */
html, body { background-color: var(--limes-bg) !important; }
body {
  background-image:
    radial-gradient(ellipse 80% 45% at 50% -8%, rgba(120, 6, 14, 0.30) 0%, rgba(120, 6, 14, 0) 70%),
    radial-gradient(ellipse 60% 40% at 100% 100%, rgba(120, 6, 14, 0.10) 0%, rgba(120, 6, 14, 0) 70%) !important;
  background-attachment: fixed !important;
  font-family: Manrope, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  -webkit-font-smoothing: antialiased;
}
/* мелкое зерно, чтобы тёмный градиент не полосил */
body::after {
  content: '';
  position: fixed; inset: 0; z-index: 0; pointer-events: none; opacity: .035;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
#root { position: relative; z-index: 1; }
/* стандартная анимация фона (лучи/аврора) — не в стиле бренда */
body > div.pointer-events-none.fixed.inset-0 > div.absolute.inset-0.overflow-hidden { display: none !important; }

::selection { background: rgba(var(--limes-red), .45); color: #fff; }
* { scrollbar-color: #2a2a2d transparent; scrollbar-width: thin; }
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-thumb { background: #2a2a2d; border-radius: 8px; }
::-webkit-scrollbar-track { background: transparent; }

/* ---------- типографика ---------- */
h1, h2, h3, .font-display { font-family: Manrope, system-ui, sans-serif !important; letter-spacing: -0.015em; }
h1 { font-weight: 800 !important; }
h2, h3 { font-weight: 700 !important; }
.stat-value { font-weight: 800; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.stat-label { text-transform: uppercase; letter-spacing: .09em; font-size: 11px; font-weight: 600; }

/* ---------- шапка ---------- */
header.glass, header.fixed {
  background: rgba(6, 6, 7, 0.78) !important;
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  backdrop-filter: blur(18px) saturate(140%);
  border-color: var(--limes-line) !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.03), 0 12px 32px -20px rgba(0, 0, 0, .9) !important;
}
header a[href="/"]:not(nav a) span {
  text-transform: uppercase; letter-spacing: .2em; font-weight: 800 !important; font-size: 14px !important;
}
header a[href="/"] img { border-radius: 9px; }
/* центральная «таблетка» навигации на десктопе */
header nav.rounded-full {
  background: rgba(255, 255, 255, 0.025) !important;
  border-color: var(--limes-line) !important;
}
header nav.rounded-full a { font-weight: 600; }
header nav.rounded-full a[aria-current="page"], header nav.rounded-full a.active {
  background: rgba(var(--limes-red), .14) !important; color: #fff !important;
  box-shadow: inset 0 0 0 1px rgba(var(--limes-red), .35);
}

/* ---------- нижнее меню на телефоне ---------- */
nav.fixed.lg\:hidden {
  background: rgba(10, 10, 11, 0.86) !important;
  -webkit-backdrop-filter: blur(20px) saturate(140%);
  backdrop-filter: blur(20px) saturate(140%);
  border-color: var(--limes-line) !important;
  border-radius: 24px !important;
  box-shadow: 0 18px 40px -16px rgba(0, 0, 0, .95), inset 0 1px 0 rgba(255, 255, 255, .04) !important;
}
nav.fixed.lg\:hidden a { font-weight: 600; }
nav.fixed.lg\:hidden a.text-accent-400 {
  color: #fff !important;
  background: linear-gradient(180deg, rgba(var(--limes-red), .22), rgba(var(--limes-red), .08)) !important;
  box-shadow: inset 0 0 0 1px rgba(var(--limes-red), .35);
}
nav.fixed.lg\:hidden a.text-accent-400 svg { color: rgb(var(--limes-red-hi)); }

/* ---------- карточки ---------- */
.bento-card, .bento-card-hover, .bento-card-glow, .card, .glass:not(header) {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035) 0%, rgba(255, 255, 255, 0.01) 100%),
    var(--limes-surface) !important;
  border-color: var(--limes-line) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05), 0 24px 48px -32px rgba(0, 0, 0, 0.9) !important;
}
.bento-card, .bento-card-hover, .bento-card-glow { border-radius: var(--bento-radius) !important; }
.bento-card-hover:hover, .card-hover:hover, .bento-card-glow:hover, .card-glow:hover {
  border-color: rgba(var(--limes-red), .38) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 24px 48px -28px rgba(var(--limes-red), .35) !important;
}
.divider { border-color: var(--limes-line) !important; }

/* ---------- кнопки ---------- */
.btn, .btn-primary, .btn-secondary, .btn-ghost, .btn-danger { border-radius: 14px !important; font-weight: 700 !important; letter-spacing: .01em; }
.btn-primary, button.bg-accent-500, a.bg-accent-500 {
  background: linear-gradient(180deg, rgb(var(--limes-red-hi)) 0%, rgb(var(--limes-red)) 100%) !important;
  color: #fff !important;
  border: 0 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22), 0 12px 28px -14px rgba(var(--limes-red), 0.85) !important;
  transition: filter .2s, transform .2s, box-shadow .2s !important;
}
.btn-primary:hover, button.bg-accent-500:hover, a.bg-accent-500:hover { filter: brightness(1.08); }
.btn-primary:active, button.bg-accent-500:active, a.bg-accent-500:active { transform: translateY(1px); }
.btn-primary:disabled, button.bg-accent-500:disabled { filter: grayscale(.4) brightness(.7); box-shadow: none !important; }
.btn-secondary {
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid var(--limes-line-strong) !important;
  color: #f5f5f3 !important;
}
.btn-secondary:hover { background: rgba(255, 255, 255, 0.07) !important; border-color: rgba(var(--limes-red), .45) !important; }
.btn-ghost:hover { background: rgba(255, 255, 255, 0.05) !important; }
.btn-icon { border-radius: 12px !important; }

/* ---------- поля ввода ---------- */
.input, input[type="text"], input[type="email"], input[type="password"], input[type="number"], input[type="tel"], textarea, select {
  background: rgba(255, 255, 255, 0.03) !important;
  border-color: var(--limes-line-strong) !important;
  border-radius: 14px !important;
  transition: border-color .2s, box-shadow .2s;
}
.input:focus, input:focus, textarea:focus, select:focus {
  outline: none !important;
  border-color: rgba(var(--limes-red), .65) !important;
  box-shadow: 0 0 0 3px rgba(var(--limes-red), .16) !important;
}

/* ---------- ссылки, бейджи, мелочи ---------- */
.link, a.text-accent-400 { color: rgb(var(--limes-red-hi)) !important; }
.badge, [class*="badge-"] { letter-spacing: .02em; font-weight: 600; }
.sheet-container { background: #0c0c0e !important; border-top: 1px solid var(--limes-line); }
.sheet-backdrop { background: rgba(0, 0, 0, .6) !important; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.shimmer { background: linear-gradient(90deg, #111113, #1b1b1e, #111113) !important; background-size: 200% 100% !important; }

/* ---------- фирменный шрифт названия (как в логотипе: Inter Tight) ---------- */
@font-face {
  font-family: 'Limes Inter Tight';
  src: url('/limes-inter-tight-700.woff2') format('woff2');
  font-weight: 700; font-display: swap;
}
header a[href="/"]:not(nav a) span {
  font-family: 'Limes Inter Tight', Manrope, sans-serif !important;
  font-weight: 700 !important; text-transform: uppercase; letter-spacing: .14em !important; font-size: 15px !important;
}
body:has(input[type="password"]) div.text-center > h1.text-2xl {
  font-family: 'Limes Inter Tight', Manrope, sans-serif !important;
  font-weight: 700 !important; text-transform: uppercase; letter-spacing: .14em; font-size: 26px !important;
}
