/* Общие стили Voyage для всех страниц voyage-community.ru.
   Подключается последним в <head>, после стилей страницы, поэтому его правила главнее.
   Здесь: цвета текста, кнопки, шапка, фокус с клавиатуры, уменьшение движения. */
:root{
  --ink:#0b0b0b;
  --paper:#f4f1ea;
  --surface:#131312;
  --surface-2:#1a1a18;
  --text-2:rgba(244,241,234,.74);  /* второстепенный текст, контраст около 9:1 */
  --text-3:rgba(244,241,234,.58);  /* подписи, около 6:1, бледнее не делаем */
  --line:rgba(244,241,234,.12);
  --line-strong:rgba(244,241,234,.26);
  --accent:#a0f0a0;
  --ui:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Segoe UI Variable",Roboto,Arial,sans-serif;
}
html{-webkit-text-size-adjust:100%;scroll-padding-top:76px}
body{font-family:var(--ui);font-optical-sizing:auto}
/* длинное слово в заголовке не должно раздвигать страницу на телефоне */
h1,h2,h3{overflow-wrap:break-word}

/* ── кнопки: обычный регистр, 16px, без разрядки, высота от 44px ── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:48px;padding:0 24px;max-width:100%;
  border-radius:999px;border:1px solid transparent;
  font:600 16px/1.2 var(--ui);letter-spacing:-.01em;text-transform:none;
  text-decoration:none;text-align:center;white-space:normal;
  cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;
  transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .1s ease-out;
}
.btn:active{transform:scale(.97)}
.btn-primary{background:var(--paper);color:var(--ink)}
.btn-primary:hover{background:#fff}
.btn-primary:active{background:#e4e0d6}
.btn-secondary{background:transparent;color:var(--paper);border-color:var(--line-strong)}
.btn-secondary:hover{background:rgba(244,241,234,.07);border-color:rgba(244,241,234,.6)}
.btn-secondary:active{background:rgba(244,241,234,.12)}
.btn-lg{min-height:52px;padding:0 28px;font-size:17px;letter-spacing:-.015em}
.btn-sm{min-height:44px;padding:0 18px;font-size:15px}
.btn[disabled],.btn[aria-disabled="true"]{opacity:.45;cursor:not-allowed;transform:none}
.btn svg{width:16px;height:16px;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* текстовое действие: «Назад», «Все проекты», «Подробнее» */
.link-act{
  display:inline-flex;align-items:center;gap:6px;min-height:44px;
  font:500 16px/1.3 var(--ui);letter-spacing:-.01em;color:var(--paper);
  text-decoration:underline;text-decoration-color:rgba(244,241,234,.35);text-underline-offset:4px;
  transition:text-decoration-color .15s;
}
.link-act:hover{text-decoration-color:currentColor}
button.link-act{background:none;border:0;padding:0;cursor:pointer}
@media (max-width:560px){.btn-block-m{width:100%}}

/* ── подпись над заголовком: единственное место, где остаётся капс ── */
.eyebrow{display:block;font:600 12px/1.3 var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}

/* ── шапка, одна на все страницы ── */
.vg-nav{
  position:sticky;top:0;z-index:150;
  padding-top:env(safe-area-inset-top,0px);
  background:rgba(11,11,11,.8);
  -webkit-backdrop-filter:saturate(1.6) blur(18px);backdrop-filter:saturate(1.6) blur(18px);
  border-bottom:1px solid var(--line);
  color:var(--paper);
}
.vg-nav-in{
  max-width:1120px;margin:0 auto;height:60px;
  display:flex;align-items:center;gap:8px;
  padding-left:max(24px,env(safe-area-inset-left,0px));
  padding-right:max(24px,env(safe-area-inset-right,0px));
}
.vg-logo{
  display:inline-flex;align-items:center;min-height:44px;margin-right:auto;
  font:700 21px/1 var(--ui);letter-spacing:-.035em;color:var(--paper);text-decoration:none;
}
.vg-links{display:flex;align-items:center;gap:2px}
.vg-links a{
  display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border-radius:999px;
  font:500 15px/1 var(--ui);letter-spacing:-.005em;color:var(--text-2);text-decoration:none;
  transition:color .15s,background-color .15s;
}
.vg-links a:hover{color:var(--paper);background:rgba(244,241,234,.06)}
.vg-links a[aria-current="page"]{color:var(--paper)}
.vg-cta{
  position:relative;display:inline-flex;align-items:center;gap:6px;
  min-height:36px;padding:0 16px;margin-left:8px;border-radius:999px;
  background:var(--paper);color:var(--ink);
  font:600 14px/1 var(--ui);letter-spacing:-.005em;text-decoration:none;white-space:nowrap;
  transition:background-color .15s,transform .1s ease-out;
}
.vg-cta::after{content:"";position:absolute;inset:-4px -2px}
.vg-cta:hover{background:#fff}
.vg-cta:active{transform:scale(.97)}
.vg-cta .dot{width:7px;height:7px;border-radius:50%;background:#7ad39a}
.vg-burger{
  display:none;align-items:center;justify-content:center;width:44px;height:44px;margin-right:-10px;
  background:none;border:0;border-radius:999px;color:var(--paper);cursor:pointer;
}
.vg-burger svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;fill:none}
.vg-burger .vg-i-close{display:none}
.vg-burger[aria-expanded="true"] .vg-i-close{display:block}
.vg-burger[aria-expanded="true"] .vg-i-open{display:none}
.vg-menu{
  border-top:1px solid var(--line);
  padding:8px max(24px,env(safe-area-inset-right,0px)) 20px max(24px,env(safe-area-inset-left,0px));
}
.vg-menu a{
  display:flex;align-items:center;min-height:56px;border-bottom:1px solid var(--line);
  font:600 22px/1.2 var(--ui);letter-spacing:-.02em;color:var(--paper);text-decoration:none;
}
.vg-menu a:last-child{border-bottom:0}
.vg-menu a[aria-current="page"]{color:var(--accent)}
@media (max-width:760px){
  .vg-links{display:none}
  .vg-burger{display:inline-flex}
}
@media (min-width:761px){.vg-menu{display:none!important}}

/* ── переход к содержанию с клавиатуры ── */
.skip{
  position:absolute;left:16px;top:-80px;z-index:1000;
  padding:12px 16px;border-radius:12px;background:var(--paper);color:var(--ink);
  font:600 15px/1 var(--ui);text-decoration:none;
}
.skip:focus{top:12px}

/* ── фокус с клавиатуры виден везде ── */
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}

/* ── уменьшение движения ── */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important}
  .reveal{opacity:1!important;transform:none!important}
}
@media (prefers-reduced-transparency:reduce){
  .vg-nav{background:var(--ink);-webkit-backdrop-filter:none;backdrop-filter:none}
}
