/* Рух V52 — «Дорожная аврора»: фирменный слой дизайна поверх V51 (только оформление, без правок логики) */
:root{
  --rk-coral:#ff6b4a;--rk-amber:#ffb703;--rk-night:#0b1026;--rk-violet:#7c3aed;--rk-cyan:#22d3ee;
  --rk-aurora:linear-gradient(120deg,#6d5efc 0%,#22d3ee 55%,#34e0a1 100%);
  --rk-warm:linear-gradient(120deg,#ff6b4a 0%,#ffb703 100%);
  --rk-glow:0 18px 44px -18px rgba(99,102,241,.55);
  --rk-ease:cubic-bezier(.2,.9,.25,1.1)
}
html{scroll-behavior:smooth;scrollbar-color:#7c83ff transparent;scrollbar-width:thin}
::selection{background:#6d5efc;color:#fff}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:linear-gradient(#6d5efc,#22d3ee);border-radius:99px;border:2px solid transparent;background-clip:padding-box}
:focus-visible{outline:3px solid color-mix(in srgb,#6d5efc 70%,#fff)!important;outline-offset:3px!important;border-radius:10px}

/* Фон-аврора и «дорожная» точечная сетка */
body{position:relative}
body::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(60vw 46vh at 8% -8%,rgba(109,94,252,.16),transparent 70%),
    radial-gradient(54vw 44vh at 100% 6%,rgba(34,211,238,.15),transparent 70%),
    radial-gradient(50vw 40vh at 70% 108%,rgba(255,107,74,.10),transparent 70%)}
body::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.5;
  background-image:radial-gradient(rgba(99,102,241,.16) 1px,transparent 1.2px);background-size:26px 26px;
  -webkit-mask-image:linear-gradient(to bottom,#000 0,transparent 62%);mask-image:linear-gradient(to bottom,#000 0,transparent 62%)}
html[data-theme="dark"] body::before,[data-theme="dark"] body::before{opacity:.9}

/* Индикатор прокрутки */
@supports (animation-timeline:scroll()){
  .header::after{content:"";position:absolute;left:0;bottom:-1px;height:3px;width:100%;transform-origin:left;transform:scaleX(0);
    background:var(--rk-aurora);box-shadow:0 0 14px rgba(34,211,238,.7);animation:rkProg linear both;animation-timeline:scroll(root block);z-index:3}
  @keyframes rkProg{to{transform:scaleX(1)}}
}

/* Шапка: стеклянная панель, активный пункт с «фарой» */
.header{background:color-mix(in srgb,var(--surface,#fff) 78%,transparent)!important;backdrop-filter:blur(22px) saturate(190%)!important;-webkit-backdrop-filter:blur(22px) saturate(190%)!important;box-shadow:0 10px 40px -24px rgba(30,27,75,.5)!important}
.nav a.active,.nav .active>a,.nav__group .active{position:relative}
.logo__mark{box-shadow:0 10px 26px -8px rgba(109,94,252,.75)!important;transition:transform .5s var(--rk-ease)}
.logo:hover .logo__mark{transform:rotate(-8deg) scale(1.08)}

/* Кнопки: градиент-аврора, блик, тёплая кнопка для «Создать» */
.btn--primary,.rk-btn{background:var(--rk-aurora)!important;color:#fff!important;border:0!important;position:relative;overflow:hidden;box-shadow:var(--rk-glow)!important;transition:transform .3s var(--rk-ease),box-shadow .3s!important}
.btn--primary::after,.rk-btn::after{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;transform:skewX(-20deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);transition:left .7s ease}
.btn--primary:hover,.rk-btn:hover{transform:translateY(-3px)!important;box-shadow:0 22px 48px -16px rgba(34,211,238,.7)!important}
.btn--primary:hover::after,.rk-btn:hover::after{left:130%}
.btn--primary:active{transform:translateY(0) scale(.98)!important}
.btn--ghost{backdrop-filter:blur(10px);transition:transform .3s var(--rk-ease),background .3s,border-color .3s!important}
.btn--ghost:hover{transform:translateY(-2px);border-color:#6d5efc!important}
a[href="/create"].btn--primary,.hero-slide__ctas a[href*="create"]{background:var(--rk-warm)!important;box-shadow:0 18px 40px -16px rgba(255,107,74,.7)!important}

/* Hero: подвижные световые «огни» дороги */
.hero-slide__inner{position:relative}
.hero-slide__badge{backdrop-filter:blur(12px);box-shadow:0 0 0 1px rgba(255,255,255,.25),0 10px 30px -12px rgba(0,0,0,.5)!important}
.hero-slide__title{letter-spacing:-.035em;text-shadow:0 8px 40px rgba(2,6,23,.35)}
.hero-slide__title .grad,.section__title .grad{background:linear-gradient(100deg,#a5b4fc,#67e8f9 55%,#86efac);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.hero-slide__overlay::after{content:"";position:absolute;inset:auto 0 0 0;height:46%;pointer-events:none;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.0) 0 38px,rgba(255,255,255,.28) 38px 70px);
  height:3px;bottom:22%;opacity:.55;animation:rkRoad 3.2s linear infinite;-webkit-mask-image:linear-gradient(90deg,transparent,#000 20%,#000 80%,transparent);mask-image:linear-gradient(90deg,transparent,#000 20%,#000 80%,transparent)}
@keyframes rkRoad{to{background-position:-70px 0}}

/* Заголовки секций: «маршрут» из точек */
.section__head{position:relative}
.home-kicker,.rp-eyebrow{display:inline-flex!important;align-items:center;gap:6px;width:fit-content!important;max-width:100%;padding:6px 13px!important;background:linear-gradient(120deg,rgba(109,94,252,.14),rgba(34,211,238,.14))!important;border:1px solid rgba(109,94,252,.22)!important;color:#4f46e5!important;border-radius:99px!important;letter-spacing:.09em}
.section__title{letter-spacing:-.03em}
.section__link{transition:gap .3s,transform .3s var(--rk-ease)}
.section__link:hover{transform:translateX(4px)}

/* Карточки: стекло, градиентная рамка при наведении, подъём */
.city-card,.pop-route,.rp-feat,.home-benefit,.step{position:relative;border:1px solid color-mix(in srgb,#6366f1 14%,var(--border,#e5e7eb))!important;background:linear-gradient(160deg,color-mix(in srgb,var(--surface,#fff) 96%,transparent),color-mix(in srgb,var(--surface,#fff) 86%,#eef2ff))!important;
  transition:transform .45s var(--rk-ease),box-shadow .45s,border-color .3s!important;box-shadow:0 10px 30px -22px rgba(49,46,129,.55)!important}
.city-card::before,.pop-route::before,.rp-feat::before,.home-benefit::before,.step::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1.5px;pointer-events:none;opacity:0;transition:opacity .4s;
  background:var(--rk-aurora);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.city-card:hover,.pop-route:hover,.rp-feat:hover,.home-benefit:hover,.step:hover{transform:translateY(-6px)!important;box-shadow:0 30px 60px -26px rgba(79,70,229,.6)!important}
.city-card:hover::before,.pop-route:hover::before,.rp-feat:hover::before,.home-benefit:hover::before,.step:hover::before{opacity:1}
.city-card__icon,.rp-feat__ic,.home-benefit__icon,.step__num{background:var(--rk-aurora)!important;color:#fff!important;box-shadow:0 10px 24px -10px rgba(34,211,238,.8)!important;transition:transform .5s var(--rk-ease)}
.city-card:hover .city-card__icon,.rp-feat:hover .rp-feat__ic,.home-benefit:hover .home-benefit__icon{transform:rotate(-10deg) scale(1.1)}
.pop-route__line{background:repeating-linear-gradient(90deg,#6d5efc 0 6px,transparent 6px 12px)!important;height:2px!important;opacity:.7}
.pop-route__badge{background:var(--rk-warm)!important;color:#fff!important}
.pop-route__price{background:var(--rk-aurora);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

/* Поля ввода */
input,select,textarea{transition:box-shadow .25s,border-color .25s!important}
input:focus,select:focus,textarea:focus{border-color:#6d5efc!important;box-shadow:0 0 0 4px rgba(109,94,252,.18)!important}
.search-field{transition:transform .3s var(--rk-ease),box-shadow .3s}
.search-field:focus-within{transform:translateY(-2px);box-shadow:0 16px 36px -22px rgba(79,70,229,.6)}

/* Футер: светящаяся «дорожная разметка» сверху */
footer{position:relative}
footer::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--rk-aurora);box-shadow:0 0 24px rgba(34,211,238,.6);opacity:.9}

/* Мобильное приложение: плавающая нижняя навигация со свечением */
@media (max-width:760px){
  body::after{opacity:.35}
  .city-card:hover,.pop-route:hover,.rp-feat:hover,.home-benefit:hover,.step:hover{transform:none!important}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .hero-slide__overlay::after,.btn--primary::after{animation:none;transition:none}
}
