/* yacht.camp — общая шапка всех страниц. Источник значений — tokens.css.
   На главной подключается ВМЕСТЕ с home.css; на прототипных страницах — после style.css,
   чтобы перекрыть их старые .burger/.logo. Логика — bar.js. */

/* прототипные страницы: контент начинается под фиксированной шапкой */
body.subpage { padding-top: var(--bar-height-hero); }

/* ─── Шапка ───────────────────────────────────────────────────────
   .on-hero — вписана в кадр, без фона; тон типа задаёт data-tone.
   .stuck   — glass-фон (журнал п.11–12).                          */

.bar {
  position: fixed; inset: 0 0 auto 0; z-index: 50;
  height: var(--bar-height-hero);
  display: flex; align-items: center;
  padding: 0 var(--space-8);
  transition: height var(--motion-duration-base) cubic-bezier(.2,0,0,1),
              background var(--motion-duration-base) cubic-bezier(.2,0,0,1);
}
.bar[data-tone="light"] { color: var(--color-navy-600); }
.bar[data-tone="dark"]  { color: var(--semantic-text-on-dark); }

.bar.stuck {
  height: var(--bar-height-stuck);
  background: var(--glass-on-light-bg);
  backdrop-filter: blur(var(--glass-on-light-blur)) saturate(1.3);
  -webkit-backdrop-filter: blur(var(--glass-on-light-blur)) saturate(1.3);
  border-bottom: 1px solid var(--glass-on-light-border);
  color: var(--color-navy-600);
}

.logo { display: flex; align-items: center; gap: var(--space-3);
        color: inherit; text-decoration: none; flex: none; }
.mark { height: var(--bar-mark-hero); width: auto; color: currentColor;
        transition: height var(--motion-duration-base) cubic-bezier(.2,0,0,1); }
.bar.stuck .mark { height: var(--bar-mark-stuck); }

/* лого: два слова + жёлтый круг, зазор 4px с каждой стороны, кегль 16 */
.wordmark {
  display: inline-flex; align-items: center;
  /* логотип тем же болдом, что заголовки (директор 14.09) */
  font-family: var(--font-family-display); font-weight: 800; font-size: 16px;
  letter-spacing: .12em; white-space: nowrap;
}
.wordmark__dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--color-sun-500);
  margin: 0 var(--space-1);
}
/* вариант «солнце на горизонте»: полукруг с лучами, низ обрезан линией.
   Быстрый откат: убрать класс --sun у span в index.html — вернётся круг. */
.wordmark__dot--sun {
  width: 15px; height: 9px; border-radius: 0; background: none;
  color: var(--color-sun-500);
}
.wordmark__dot--sun svg { width: 100%; height: 100%; display: block; }

/* меню: отцентровано, кегль 14, жёлтые точки-разделители 5px */
.nav {
  position: absolute; left: 50%; transform: translateX(-50%);
  display: flex; align-items: center; gap: var(--space-4);
  font-size: 14px;
}
.nav a { color: inherit; text-decoration: none; opacity: .9; white-space: nowrap;
         transition: opacity var(--motion-duration-fast); }
.nav a:hover { opacity: 1; }
.nav__dot { width: 5px; height: 5px; border-radius: 50%;
            background: var(--color-sun-500); flex: none; }

.cta {
  flex: none; margin-left: auto;
  border: 1.5px solid var(--semantic-cta-bg);
  color: var(--semantic-cta-bg);
  background: transparent; text-decoration: none;
  padding: 11px 22px; border-radius: var(--radius-pill);
  transition: background var(--motion-duration-fast), color var(--motion-duration-fast);
}
.cta:hover { background: var(--semantic-cta-bg); color: var(--semantic-cta-text); }
.bar.stuck .cta { background: var(--semantic-cta-bg); color: var(--semantic-cta-text);
                  border-color: transparent; }
/* На подстраницах шапка стоит на креме, а не на фото: жёлтый контур+текст
   давали 1.17:1 (журнал п.7). Там CTA всегда залит. (14.09) */
body.subpage .bar > .cta { background: var(--semantic-cta-bg);
  color: var(--semantic-cta-text); border-color: transparent; }

/* ─── Гамбургер-волны и мобильное меню ─────────────────────────── */

.burger {
  display: none; flex: none; margin-left: auto;
  width: 50px; height: 50px; padding: 11px;
  background: none; border: none; color: inherit; cursor: pointer;
}
.burger svg { width: 100%; height: 100%; display: block; }
.burger__sun { color: var(--color-sun-500); }   /* солнце всегда жёлтое */
.burger__x { display: none; }
.burger.open .burger__waves { display: none; }
.burger.open .burger__x { display: block; }

.mobmenu {
  position: fixed; inset: 0; z-index: 100;
  background: var(--color-navy-600);
  display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: var(--space-6);
  padding: var(--space-16) var(--space-8);
}
.mobmenu[hidden] { display: none; }
.mobmenu a {
  color: var(--semantic-text-on-dark); text-decoration: none;
  font-family: var(--font-family-display); font-weight: 700;
  text-transform: uppercase; font-size: 1.5rem;
}
.mobmenu a.mobmenu__cta { margin: var(--space-8) 0 0;  font-size: 0.75rem !important;
  font-family: var(--font-family-sans) !important;
  background: var(--semantic-cta-bg); color: var(--semantic-cta-text);
  border-color: transparent; }
.bar.menu-open { color: var(--semantic-text-on-dark); z-index: 110;
  background: none; backdrop-filter: none; -webkit-backdrop-filter: none;
  border-bottom: none; }


@media (max-width: 860px) {
  .nav { display: none; }
  .bar { padding: 0 var(--space-4); }
  .bar > .cta { display: none; }      /* CTA уходит внутрь мобильного меню */
  .burger { display: block; }
}

/* стандартная высота блока действует и на прототипных страницах (директор 31.08) */
body.subpage .sec { min-height: var(--block-height); }
