/* Общая «обвязка» всех страниц: один размер логотипа, выбор города, чипы в подвале.
   Подключается ПОСЛЕДНЕЙ таблицей стилей на каждой странице — перекрывает частные размеры. */
:root{--om-navy:#022C6D;--om-cream:#F3F1EE;--om-red:#E03127;--om-yellow:#FFC400;--om-logo-h:50px;--om-head-h:78px}
@media(max-width:760px){:root{--om-logo-h:34px;--om-head-h:64px}}
@media(max-width:360px){:root{--om-logo-h:29px}}

/* ---------- Шапка: одна высота, один логотип ---------- */
.site-header,.site-head,.app-header{height:var(--om-head-h)!important;min-height:0!important}
.site-header{z-index:90!important}.site-head{z-index:90!important}.app-header{position:relative;z-index:90}
.site-logo,.site-head .brand,.app-header .brand{display:flex!important;align-items:center;width:auto!important;height:auto!important;flex:none!important;margin-right:0;padding:0!important;background:none!important;border-radius:0!important}
.site-logo img,.site-head .brand img,.app-header .brand img{display:block!important;height:var(--om-logo-h)!important;width:auto!important;max-width:none!important;max-height:none!important;object-fit:contain}
.site-header .header-inner{gap:clamp(12px,2.4vw,40px)}
.site-header .desktop-nav{margin-left:auto}
.footer-top img{height:56px!important;width:auto!important}

/* ---------- Город ---------- */
.city-pick{position:relative;flex:none;z-index:60;font-family:Manrope,Arial,sans-serif}
.city-pick>summary{list-style:none;display:flex;align-items:center;gap:6px;height:36px;padding:0 12px 0 11px;border-radius:999px;border:1px solid rgba(243,241,238,.34);color:#fff;font-size:13px;font-weight:800;letter-spacing:.01em;cursor:pointer;white-space:nowrap;transition:background .18s,border-color .18s}
.city-pick>summary::-webkit-details-marker{display:none}
.city-pick>summary:hover,.city-pick[open]>summary{background:rgba(243,241,238,.12);border-color:rgba(243,241,238,.7)}
.city-pick>summary:focus-visible{outline:2px solid var(--om-yellow);outline-offset:2px}
.city-pick .city-pin{width:14px;height:14px;flex:none;color:var(--om-yellow)}
.city-pick .city-chev{width:14px;height:14px;flex:none;transition:transform .2s}
.city-pick[open] .city-chev{transform:rotate(180deg)}
.city-menu{position:absolute;top:calc(100% + 10px);left:0;width:min(290px,calc(100vw - 24px));padding:6px;border-radius:16px;background:#fff;color:var(--om-navy);box-shadow:0 24px 60px rgba(2,20,55,.32),0 0 0 1px rgba(2,44,109,.08);display:grid;gap:2px;animation:om-drop .18s ease-out}
@keyframes om-drop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.city-menu a{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 10px;padding:11px 12px;border-radius:11px;text-decoration:none;color:inherit}
.city-menu a:hover,.city-menu a:focus-visible{background:#EEF1F7;outline:none}
.city-menu b{font-size:15px;font-weight:900}
.city-menu small{grid-column:1;font-size:12px;line-height:1.3;opacity:.66;font-weight:600}
.city-menu a::after{content:"";grid-row:1 / span 2;grid-column:2;width:9px;height:9px;border-radius:50%;border:2px solid rgba(2,44,109,.25)}
.city-menu a[aria-current]::after{background:var(--om-red);border-color:var(--om-red)}
.city-menu .city-soon{margin:4px 6px 4px;padding-top:8px;border-top:1px solid rgba(2,44,109,.1);font-size:11px;line-height:1.35;opacity:.6;font-weight:600}
/* на светлой шапке (игра) */
.app-header .city-pick>summary{color:inherit;border-color:rgba(2,44,109,.25)}
.app-header .city-pick>summary:hover,.app-header .city-pick[open]>summary{background:rgba(2,44,109,.07)}
@media(max-width:760px){
  .city-pick>summary{height:32px;padding:0 8px;gap:4px;font-size:12px}
  .city-pick .city-pin{display:none}
}
@media(max-width:380px){.city-pick>summary{font-size:11px;padding:0 7px}.city-pick .city-chev{width:12px}}

/* ---------- Чипы в подвале ---------- */
.footer-chips{max-width:1500px;margin:34px auto 0;display:flex;flex-wrap:wrap;gap:10px}
.footer-chips a{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:9px 16px;border-radius:999px;border:1px solid rgba(243,241,238,.32);color:#fff;font-size:14px;font-weight:800;text-decoration:none;transition:background .18s,color .18s,border-color .18s}
.footer-chips a:hover,.footer-chips a:focus-visible{background:var(--om-yellow);border-color:var(--om-yellow);color:var(--om-navy);outline:none}
.footer-chips a.is-hot{background:var(--om-red);border-color:var(--om-red)}
.footer-chips a.is-hot:hover{background:var(--om-yellow);border-color:var(--om-yellow)}
.footer-chips svg{width:15px;height:15px;flex:none}
@media(max-width:760px){.footer-chips{margin-top:26px;gap:8px}.footer-chips a{font-size:13px;min-height:38px;padding:8px 13px}}

/* Узкий телефон: город + логотип + одна кнопка. Где есть «бургер», кнопка заказа уходит в него
   (в меню внизу и так висит корзина). */
@media(max-width:760px){.site-header .header-inner{padding:0 14px!important;gap:8px!important}.site-header .mobile-nav nav{right:-14px!important}}
@media(max-width:480px){
  .site-header .header-inner:has(.mobile-nav) .header-cafe{display:none!important}
  .site-header .header-inner:has(.mobile-nav) .mobile-nav{margin-left:auto}
}

/* ---------- Подвал: контакты УК, соцсети, товарные знаки ---------- */
.footer-legal{max-width:1500px;margin:30px auto 0;padding-top:24px;border-top:1px solid rgba(243,241,238,.2);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px 40px;color:#fff}
.footer-uk,.footer-social-wrap{display:grid;gap:5px;align-content:start;font-size:14px;line-height:1.45}
.footer-uk b,.footer-social-wrap b{font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--om-yellow);margin-bottom:4px}
.footer-uk span{opacity:.85}
.footer-uk a{color:#fff;font-weight:800;text-decoration:underline;text-underline-offset:4px;justify-self:start}
.footer-social{display:flex;flex-wrap:wrap;gap:8px}
.footer-social a{display:inline-flex;align-items:center;min-height:40px;padding:8px 14px;border-radius:12px;background:rgba(243,241,238,.1);border:1px solid rgba(243,241,238,.25);color:#fff;font-weight:800;font-size:14px;text-decoration:none}
.footer-social a:hover,.footer-social a:focus-visible{background:var(--om-yellow);border-color:var(--om-yellow);color:var(--om-navy);outline:none}
.footer-tm{grid-column:1 / -1;margin:4px 0 0;font-size:13px;font-weight:700;opacity:.9}
.footer-note{grid-column:1 / -1;margin:0;font-size:11px;line-height:1.4;opacity:.6}
@media(max-width:760px){.footer-legal{grid-template-columns:1fr;margin-top:24px}}
/* страницы кафе: своего подвала не было — компактный общий подвал; снизу место под плавающую панель действий */
.om-mini-footer{background:#061e49;color:#fff;padding:36px clamp(20px,5vw,82px) 128px;font-family:Manrope,Arial,sans-serif}
.om-mini-footer .footer-chips{margin-top:0}
/* узкий телефон: на страницах кафе название точки в шапке не помещается рядом с городом и логотипом —
   выбранное кафе и так видно на «полке» ниже */
@media(max-width:420px){.site-head .head-location{display:none!important}}

/* Планшет (761–1080): город + логотип + полное меню + кнопка не помещаются в строку —
   меню уходит в «бургер», как на телефоне, кнопка заказа/заявки остаётся на виду. */
@media(min-width:761px) and (max-width:1080px){
  .site-header .desktop-nav{display:none!important}
  .site-header .header-cafe{margin-left:auto}
  .site-header .mobile-nav{display:block!important;position:relative}
  .site-header .mobile-nav summary{list-style:none;width:30px;height:40px;display:flex;flex-direction:column;justify-content:center;gap:5px;cursor:pointer}
  .site-header .mobile-nav summary::-webkit-details-marker{display:none}
  .site-header .mobile-nav summary span{display:block;height:2px;width:25px;background:#fff}
  .site-header .mobile-nav nav{position:absolute;top:48px;right:-10px;width:min(85vw,340px);padding:20px;background:var(--om-navy);box-shadow:0 20px 30px rgba(0,0,0,.22);display:flex;flex-direction:column;gap:17px;z-index:95}
  .site-header .mobile-nav nav a{font-size:17px;font-weight:700;padding:7px;color:#fff}
  .site-header .mobile-nav nav a[aria-current]{color:var(--om-yellow)}
}
/* игра на узком телефоне: город + логотип + ссылка на меню */
@media(max-width:420px){.app-header .menu-link svg{display:none}.app-header{gap:10px!important;padding-left:12px!important;padding-right:12px!important}}
@media(max-width:350px){.app-header .menu-link{font-size:10px!important}}
