/* =========================================================
   Каркас: шапка, мобильное меню, подвал, нижняя панель
   ========================================================= */

/* ---------- шапка ---------- */
.top { position: fixed; inset: 0 0 auto; z-index: 50; border-bottom: 1px solid transparent; transition: background .4s, border-color .4s; }
.top.is-solid { background: rgba(12, 30, 24, .9); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); border-bottom-color: var(--gold-line); }
.top__in { max-width: var(--wrap); height: var(--header-h); margin: 0 auto; padding: 0 var(--gutter); display: flex; align-items: center; gap: 26px; }
.top__logo { position: relative; z-index: 2; display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--gold-hi); }
.top__logo img { width: 44px; height: auto; }
/* обе строки по центру; отрицательный отступ справа съедает хвост letter-spacing, иначе строки смещаются */
.top__word { display: flex; flex-direction: column; align-items: center; text-transform: uppercase; }
.top__word b { font: 700 18px/1 var(--logo); letter-spacing: .12em; margin-right: -.12em; }
.top__word small { display: flex; align-items: center; gap: 6px; margin-top: 5px; font: 600 8.5px/1 var(--logo); letter-spacing: .42em; margin-right: -.42em; color: var(--muted-l); }
.top__word small::before, .top__word small::after { content: ""; width: 10px; height: 1px; background: var(--gold-soft); }
.top__word small::after { margin-left: -.42em; }
.nav { display: flex; gap: 22px; margin-left: auto; }
.nav a { text-decoration: none; font-size: 14px; font-weight: 600; color: var(--muted-l); white-space: nowrap; transition: color .2s; }
.nav a:hover { color: var(--gold-hi); }
.nav__phone { display: none; }
.top__contact { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; line-height: 1; white-space: nowrap; }
.top__phone { font-size: 15px; font-weight: 700; text-decoration: none; color: var(--cream); }
.top__phone:hover { color: var(--gold-hi); }
.top__hours { font-size: 12.5px; color: var(--muted-l); }
.top__hours.is-closed { color: rgba(241, 236, 223, .5); }
.burger { position: relative; z-index: 2; display: none; width: 44px; height: 44px; margin-right: -10px; }
.burger span { position: absolute; left: 11px; right: 11px; height: 1.5px; background: var(--gold-hi); transition: transform .3s var(--ease); }
.burger span:first-child { top: 18px; }
.burger span:last-child { top: 25px; }
.nav-open .burger span:first-child { transform: translateY(3.5px) rotate(45deg); }
.nav-open .burger span:last-child { transform: translateY(-3.5px) rotate(-45deg); }

@media (max-width: 1240px) { .nav { gap: 16px; } .nav a { font-size: 13.5px; } }
@media (max-width: 1120px) { .top__contact { display: none; } }
@media (max-width: 960px) {
  .burger { display: block; }
  .top__cta { margin-left: auto; }
  /* меню на весь экран; у шапки при открытии убираем blur, иначе она станет рамкой для fixed-меню */
  .nav { position: fixed; inset: 0; z-index: 1; height: 100vh; height: 100dvh; margin: 0; flex-direction: column; justify-content: center; gap: 0; padding: calc(var(--header-h) + 10px) var(--gutter) 40px; overflow-y: auto; background: var(--forest); opacity: 0; visibility: hidden; transition: opacity .3s var(--ease), visibility .3s; }
  .nav a { padding: 14px 0; font: 600 26px/1.1 var(--display); letter-spacing: .06em; color: var(--cream); border-bottom: 1px solid var(--gold-line); }
  .nav__phone { display: block; margin-top: 18px; color: var(--gold-hi) !important; border-bottom: 0 !important; font-family: var(--sans) !important; font-size: 20px !important; }
  .nav-open { overflow: hidden; }
  .nav-open .nav { opacity: 1; visibility: visible; }
  .nav-open .top { background: var(--forest); -webkit-backdrop-filter: none; backdrop-filter: none; border-bottom-color: var(--gold-line); }
}
@media (max-width: 600px) {
  .top__cta { display: none; }
  .burger { margin-left: auto; }
}

/* ---------- подвал ---------- */
.footer { padding: 56px 0 40px; background: var(--forest-deep); border-top: 1px solid var(--gold-line); }
.footer__in { display: flex; justify-content: space-between; align-items: center; gap: 30px; flex-wrap: wrap; }
.footer__nav { display: flex; gap: 10px 22px; flex-wrap: wrap; max-width: 520px; }
.footer__nav a { text-decoration: none; font-size: 14px; font-weight: 600; color: var(--muted-l); }
.footer__nav a:hover { color: var(--gold-hi); }
.footer__meta { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; font-size: 13px; color: rgba(241, 236, 223, .55); }
.footer__meta a { text-decoration: none; }
.footer__meta a:first-child { font-size: 17px; font-weight: 700; color: var(--gold-hi); }
.footer__tg { color: var(--muted-l); border-bottom: 1px solid var(--gold-line); }

/* сведения о продавце (ст. 9 Закона о защите прав потребителей) */
.footer__seller { margin-top: 40px; padding-top: 26px; border-top: 1px solid rgba(241, 236, 223, .08); }
.footer__seller-t { margin: 0 0 14px; font: 600 12px/1 var(--display); letter-spacing: .22em; text-transform: uppercase; color: rgba(241, 236, 223, .5); }
.seller { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px 28px; margin: 0; font-size: 13px; }
.seller div:first-child { grid-column: 1 / -1; }
.seller dt { margin-bottom: 2px; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: rgba(241, 236, 223, .38); }
.seller dd { margin: 0; color: rgba(241, 236, 223, .7); }
.seller a { text-decoration: none; }
.seller a:hover { color: var(--gold-hi); }

.footer__legal { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; flex-wrap: wrap; margin-top: 26px; padding-top: 20px; border-top: 1px solid rgba(241, 236, 223, .08); font-size: 12px; color: rgba(241, 236, 223, .4); }
.footer__legal p { display: flex; gap: 10px; align-items: flex-start; max-width: 760px; margin: 0; }
.age-mark { flex: none; padding: 2px 5px; border: 1px solid rgba(241, 236, 223, .35); font-weight: 700; color: rgba(241, 236, 223, .6); }

@media (max-width: 600px) {
  .footer { padding-bottom: calc(100px + env(safe-area-inset-bottom)); }
  .footer__meta { align-items: flex-start; }
}

/* ---------- нижняя панель на телефоне ---------- */
.dock { display: none; }
@media (max-width: 600px) {
  .dock { position: fixed; z-index: 40; left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom)); display: grid; grid-template-columns: 1.3fr 1fr 1fr; overflow: hidden; background: rgba(12, 30, 24, .95); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border: 1px solid var(--gold-soft); box-shadow: 0 10px 30px rgba(0, 0, 0, .45); }
  .dock a { display: flex; align-items: center; justify-content: center; min-height: 52px; text-decoration: none; font: 600 11px/1 var(--display); letter-spacing: .14em; text-transform: uppercase; color: var(--cream); }
  .dock a:first-child { background: var(--gold-grad); color: #1b150a; }
  .dock a + a { border-left: 1px solid var(--gold-line); }
  .nav-open .dock, html:not(.age-ok) .dock { display: none; }
}
/* документы в подвале */
.footer__docs { display: flex; flex-wrap: wrap; gap: 8px 22px; }
.footer__docs a, .footer__cookie { padding: 0; font-size: 12px; color: rgba(241, 236, 223, .55); text-decoration: underline; text-underline-offset: 3px; }
.footer__docs a:hover, .footer__cookie:hover { color: var(--gold-hi); }
