/* Публичное меню на сайте: та же вёрстка, что в приложении, без вкладок и без JS */
body.site { padding-bottom: 24px; }
a.btn, a.lang { text-decoration: none; text-align: center; }
a.btn { display: block; }
a.chip { display: inline-block; text-decoration: none; }
.btn.small { display: inline-block; width: auto; margin: 0; padding: 8px 14px; font-size: 14px; border-radius: 12px; }
.site .cta { margin: 10px 0; }
.site .hours { color: var(--muted); font-size: 13px; margin: 6px 4px 4px; }
.site .chips { position: sticky; top: 0; z-index: 2; background: #0b0b0c; padding-top: 8px; }
.site section { margin-top: 4px; }
/* На широком экране — колонка не шире планшета и больше карточек в ряд */
.site .top, .site .screen { max-width: 960px; margin: 0 auto; }
@media (min-width: 640px) { .site .grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 900px) { .site .grid { grid-template-columns: repeat(4, 1fr); } }
/* корзина на сайте: панель снизу, пока в ней что-то есть */
.cart-bar { position: fixed; left: 0; right: 0; bottom: 0; display: none; align-items: center; gap: 10px; padding: 10px 14px calc(10px + var(--safe-bottom)); background: rgba(11,11,12,.94); backdrop-filter: blur(10px); border-top: 1px solid #1d1d20; z-index: 3; }
.cart-bar.on { display: flex; }
.cart-bar .sum { flex: 1; font-weight: 700; font-size: 14px; }
.cart-bar .cta { margin: 0; }
body.site.has-cart { padding-bottom: calc(80px + var(--safe-bottom)); }
.site .buy .qty { background: var(--panel-2); }
/* на узком экране панель корзины в две строки: сумма и «Очистить», ниже — кнопка во всю ширину */
@media (max-width: 520px) {
  .cart-bar { flex-wrap: wrap; row-gap: 8px; }
  .cart-bar .sum { flex: 1 1 auto; }
  .cart-bar .cta { flex: 1 1 100%; }
  body.site.has-cart { padding-bottom: calc(130px + var(--safe-bottom)); }
}

/* атрибут hidden сильнее display у кнопок */
.site [hidden] { display: none !important; }
/* главная: логотип, слоган, кнопки, текст владельца */
body.landing { background: radial-gradient(70% 45% at 50% 0%, #1c1c20 0%, #0b0b0c 70%); }
.landing .screen { max-width: 560px; }
/* без серой карточки от .hero приложения: белый логотип — прямо на тёмном фоне страницы */
.landing .hero { text-align: center; padding: 28px 0 6px; background: none; aspect-ratio: auto; border-radius: 0; }
/* логотип владельца целиком: белые линии на прозрачном, ложится на тёмный фон */
.landing .logo { display: block; width: min(100%, 360px); height: auto; margin: 0 auto 18px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.landing h1 { font-size: 34px; letter-spacing: 2px; margin: 18px 0 4px; }
.landing .tagline { color: var(--muted); letter-spacing: 3px; text-transform: uppercase; font-size: 12px; margin: 0 0 14px; }
.landing .hero .hours { margin: 0 0 16px; }
.landing .about { color: var(--ink); opacity: .85; line-height: 1.55; margin: 20px 4px 0; }
.landing .about p { margin: 0 0 10px; }
.landing .langs { text-align: center; margin-top: 18px; }
.landing a.lang { display: inline-block; }

.site .langs a.lang { display: inline-block; margin-left: 6px; }
/* раздел предзаказа на концерт — подсвечен */
