/* ==========================================================================
   v83 — кнопки покупки с фиолетовым градиентом, подсветка найденного слова, выбор валюты,
   много регионов карт PS. Грузится после v82.css; приём :root:not(#v).
   ========================================================================== */

/* 1. Кнопки покупки и оплаты — не плоская заливка, а мягкий градиент фирменных цветов
      (лаванда -> фиолетовый -> чуть розового у края). При наведении градиент сдвигается. */
:root:not(#v) .btn--primary:not(.btn--light):not(:disabled):not([aria-disabled="true"]),
:root:not(#v) .card__foot .btn:not(.btn--light):not(:disabled),
:root:not(#v) .pick-add:not(:disabled),
:root:not(#v) .custom-amount__foot .btn:not(:disabled),
:root:not(#v) .btn--grad:not(:disabled):not([aria-disabled="true"]),
:root:not(#v) .btn--solid:not(.lq-btn):not(:disabled),
:root:not(#v) .plan__buy:not(.btn--light):not(:disabled){
  color:#fff;
  background-color:var(--violet);
  background-image:linear-gradient(120deg,var(--violet-hi) 0%,var(--violet) 42%,var(--violet-deep) 72%,color-mix(in srgb,var(--pink) 70%,var(--violet-deep)) 100%);
  background-size:180% 100%;background-position:0% 50%;
  transition:background-position .6s cubic-bezier(.22,1,.36,1),box-shadow .25s ease,transform .25s var(--spr,ease)}
@media (hover:hover) and (pointer:fine){
  :root:not(#v) .btn--primary:not(.btn--light):not(:disabled):hover,
  :root:not(#v) .card__foot .btn:not(.btn--light):not(:disabled):hover,
  :root:not(#v) .pick-add:not(:disabled):hover,
  :root:not(#v) .btn--grad:not(:disabled):not([aria-disabled="true"]):hover,
  :root:not(#v) .btn--solid:not(.lq-btn):not(:disabled):hover,
  :root:not(#v) .plan__buy:not(.btn--light):not(:disabled):hover{background-position:100% 50%}
}
:root[data-theme="light"]:not(#v) .btn--primary:not(.btn--light):not(:disabled),
:root[data-theme="light"]:not(#v) .btn--grad:not(:disabled):not([aria-disabled="true"]),
:root[data-theme="light"]:not(#v) .plan__buy:not(.btn--light):not(:disabled){
  background-image:linear-gradient(120deg,#8b5cf6 0%,var(--violet) 45%,var(--violet-deep) 75%,var(--pink-deep) 100%)}

/* 2. Найденное слово после перехода из поиска (search.js findOnPage) */
:root:not(#v) mark.find-hl{color:inherit;border-radius:4px;padding:0 2px;margin:0 -2px;
  background:color-mix(in srgb,var(--violet) 38%,transparent);
  box-shadow:0 0 0 2px color-mix(in srgb,var(--violet-hi) 70%,transparent);
  animation:findPulse 1.1s cubic-bezier(.22,1,.36,1) 2;transition:background-color 1.2s ease,box-shadow 1.2s ease}
:root:not(#v) mark.find-hl.is-fading{background-color:transparent;box-shadow:0 0 0 2px transparent}
@keyframes findPulse{0%{box-shadow:0 0 0 2px color-mix(in srgb,var(--violet-hi) 70%,transparent)}
  50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--violet-hi) 25%,transparent)}
  100%{box-shadow:0 0 0 2px color-mix(in srgb,var(--violet-hi) 70%,transparent)}}
@media (prefers-reduced-motion:reduce){:root:not(#v) mark.find-hl{animation:none}}
:root:not(#v) .find-flash{border-radius:20px;animation:findFlash 1.2s cubic-bezier(.22,1,.36,1) 2}
@keyframes findFlash{0%,100%{box-shadow:0 0 0 0 transparent}40%{box-shadow:0 0 0 4px color-mix(in srgb,var(--violet-hi) 55%,transparent)}}

/* 3. Валюта в меню (ui.js): компактный выпадающий список в ряду настроек */
:root:not(#v) .menu-cur{height:36px;min-width:104px;padding:0 30px 0 12px;border:0;border-radius:999px;cursor:pointer;
  -webkit-appearance:none;appearance:none;color:var(--text);font:600 13px/1 var(--f-sans);
  background:color-mix(in srgb,var(--tone,var(--text)) 6%,transparent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%23888' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 11px center;
  box-shadow:inset 0 0 0 1px var(--line)}
:root:not(#v) .menu-cur:focus-visible{outline:2px solid var(--violet-hi,var(--text));outline-offset:2px}
:root:not(#v) .menu-cur option{color:#111;background:#fff}
:root:not(#v) .menu__pref--cur label{cursor:pointer}
:root:not(#v) .menu__curnote{margin:-4px 0 0;font:500 12px/1.4 var(--f-sans);color:var(--text-mute)}
:root:not(#v) .menu__curnote[hidden]{display:none}
/* другая валюта: знак ₽ рядом со счётчиком цены не нужен — сумма уже со своим знаком */
html.cur-alt:not(#v) .plan__num + small,html.cur-alt:not(#v) .plan__cur{display:none}

/* 4. Много регионов карт PS (Foxreload): переключатель прокручивается лентой, а не сжимается */
:root:not(#v) .seg.seg--many{display:flex;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;
  -webkit-mask:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}
:root:not(#v) .seg.seg--many::-webkit-scrollbar{display:none}
:root:not(#v) .seg.seg--many .seg__btn{flex:0 0 auto;white-space:nowrap}

/* 5. Страница API: «разработчиков» — самое длинное слово заголовков; на узком экране (и в Mini App)
      оно вылезало за края. Размер — от ширины экрана, чтобы слово помещалось целиком. */
@media (max-width:620px){
  body[data-page="api"]:not(#v) .ghr__title{font-size:min(50px,10.6vw)}
}
