/* The frame is only shown when a place has a logo. */
html .top .brand .logo-frame:not([hidden]) {
  display: grid;
  grid-template: minmax(0, 1fr) / minmax(0, 1fr);
  place-items: center;
  box-sizing: border-box;
  overflow: hidden;
  width: clamp(54px, 15vw, 80px);
  height: clamp(54px, 15vw, 80px);
  border-radius: 15px;
  padding: 5px;
  background: color-mix(in srgb, var(--cover-ink) 13%, transparent);
  border: 1px solid color-mix(in srgb, var(--cover-ink) 24%, transparent);
}
html .top .brand .logo-frame[hidden] { display: none; }
html .top .brand .logo-frame img { width: 100%; height: 100%; min-width: 0; min-height: 0; object-fit: contain; border-radius: 10px; }
.cat:has(.category-nav-icon) { display: inline-flex; align-items: center; gap: 5px; }
.category-nav-icon { width: 22px; height: 22px; object-fit: contain; flex: none; }

[data-studio=sidebar] .top .brand,
[data-studio=board] .top .brand { display: flex; align-items: center; }

@media (max-width: 590px) {
  html[data-template=classic-menu] .top { min-height: 245px; }
  [data-template=classic-menu] .top .brand { gap: 11px; }
  html[data-template=classic-menu] .classic-offers .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  html[data-template=lo2ma] .top .brand { flex-direction: column; align-items: center; }
  [data-template=lo2ma] .category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  [data-template=lo2ma] .category-card { min-height: 102px; flex-direction: column; justify-content: center; text-align: center; gap: 3px; }
  [data-template=lo2ma] .category-card .category-icon { width: 46px; height: 46px; flex-basis: 46px; }

  [data-studio=sidebar] .studio-sidebar { padding: 0 12px 12px; }
  [data-studio=sidebar] .studio-sidebar-tools { position: sticky; z-index: 6; top: 0; border-radius: 0 0 18px 18px; }
  html[data-studio=sidebar] .studio-sidebar .top { padding: 9px 0; }
  [data-studio=sidebar] .top .brand { flex-direction: row; text-align: start; gap: 9px; }
  html[data-studio=sidebar] .top .brand .logo-frame:not([hidden]) { width: 43px; height: 43px; border-radius: 10px; }
  [data-studio=sidebar] .top .brand h1 { font-size: 21px; }
  [data-studio=sidebar] .top .latin { text-align: start; }
  [data-studio=sidebar] .category-grid { grid-template-columns: 1fr; counter-reset: section-card; }
  [data-studio=sidebar] .category-card { min-height: 65px; border-radius: 8px; counter-increment: section-card; }
  [data-studio=sidebar] .category-card::before { content: counter(section-card, decimal-leading-zero); position: static; transform: none; background: transparent; font-size: 14px; opacity: .65; }
  [data-studio=sidebar] .section, [data-studio=sidebar] #menu { scroll-margin-top: 230px; }
}
.sidebar-mobile-cover, .sidebar-section-action { display:none; }
html[data-studio=sidebar] .home-heading h2 { color:var(--surface-ink); }
@media (max-width:700px) {
  [data-studio=sidebar] .studio-sidebar-tools { position:static; }
  html[data-studio=sidebar] .studio-sidebar .top.has-sidebar-cover { background-image:none!important; }
  [data-studio=sidebar] .top.has-sidebar-cover .top-inner {
    display:grid; grid-template-columns:minmax(0,1fr) minmax(85px,34%); gap:8px 12px; align-items:center;
  }
  [data-studio=sidebar] .sidebar-mobile-cover {
    display:block; grid-column:2; grid-row:1/span 2; width:100%; aspect-ratio:1;
    object-fit:cover; border-radius:10px;
  }
  [data-studio=sidebar] .has-sidebar-cover .top-actions { grid-column:1; margin-top:0; }
  [data-studio=sidebar] .category-card {
    display:grid; grid-template-columns:clamp(76px,25vw,116px) minmax(0,1fr);
    align-items:center; gap:12px; min-height:112px; text-align:start; padding:9px;
  }
  [data-studio=sidebar] .category-card::before { content:none; }
  [data-studio=sidebar] .category-card .category-icon { width:100%; height:auto; aspect-ratio:1; border-radius:10px; }
  [data-studio=sidebar] .category-icon.custom-category img { object-fit:contain; max-height:100%; }
  [data-studio=sidebar] .category-copy { min-width:0; overflow-wrap:anywhere; }
  [data-studio=sidebar] .sidebar-section-action {
    display:inline-flex; align-items:center; gap:7px; margin-top:7px;
    padding:5px 9px; border-radius:8px; background:var(--accent); color:var(--accent-ink); font-size:12px;
  }
  [data-studio=sidebar] .section, [data-studio=sidebar] #menu { scroll-margin-top:12px; }
}
.top .footer-socials .social-icon { width:42px; height:42px; min-height:42px; border-color:color-mix(in srgb,var(--cover-ink) 35%,transparent); }
.top .footer-socials .social-icon :is(svg,img) { width:24px; height:24px; }
