.sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  width: var(--side);
  padding: 22px 18px;
  background: color-mix(in srgb, var(--card) 86%, transparent);
  border-right: 1px solid var(--line);
  backdrop-filter: blur(16px);
  display: flex;
  flex-direction: column;
  z-index: 20;
}
.brand { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.logo {
  width: 50px; height: 50px;
  display: grid; place-items: center;
  border-radius: 17px;
  color: #fff;
  font-weight: 900;
  background: linear-gradient(135deg, var(--pink), var(--violet));
  box-shadow: var(--shadow);
}

.logo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  border-radius: inherit;
}
.brand strong { display: block; font-size: 18px; }
.brand span { display: block; color: var(--muted); font-size: 12px; margin-top: 4px; line-height: 1.35; }

.side-action-buttons {
  display: grid;
  gap: 8px;
  margin-bottom: 16px;
}
.side-action {
  display: block;
  text-align: center;
  border-radius: 16px;
  padding: 11px 12px;
  color: #fff;
  font-size: 14px;
  font-weight: 950;
  background: linear-gradient(135deg, var(--pink), var(--violet));
  box-shadow: 0 10px 24px rgba(255, 116, 184, .2);
}
.side-action.secondary {
  background: linear-gradient(135deg, var(--violet), var(--blue));
}
.side-action.active {
  box-shadow: 0 12px 28px rgba(255, 116, 184, .32);
  transform: translateY(-1px);
}

.side-menu {
  overflow-y: auto;
  padding-right: 4px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.side-menu a {
  padding: 9px 10px;
  border-radius: 13px;
  color: var(--muted);
  font-size: 14px;
  font-weight: 750;
}
.side-menu a:hover {
  background: color-mix(in srgb, var(--pink) 14%, transparent);
  color: var(--pink);
}
.parent-link {
  color: var(--pink) !important;
  background: transparent;
  font-size: 13px !important;
  padding-left: 10px !important;
}
.sub-links {
  display: grid;
  gap: 3px;
  margin: 2px 0 6px 14px;
  padding-left: 13px;
  border-left: 2px solid color-mix(in srgb, var(--pink) 38%, transparent);
}
.sub-links a {
  position: relative;
  font-size: 12.5px;
  padding: 7px 8px;
}
.sub-links a::before {
  content: "└";
  margin-right: 6px;
  color: var(--pink);
  opacity: .65;
}
.menu-title {
  margin: 15px 8px 4px;
  color: var(--pink);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .04em;
}
.sidebar-bottom {
  margin-top: auto;
  padding-top: 16px;
}
.lang-switch {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
}
.lang-switch button {
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--button-bg);
  color: var(--button-text);
  padding: 8px 4px;
  font-size: 11px;
  font-weight: 850;
  cursor: pointer;
}
.lang-switch button:hover {
  border-color: var(--pink);
  color: var(--pink);
}
.booth-link {
  margin-top: 10px;
  display: block;
  text-align: center;
  border-radius: 999px;
  padding: 10px;
  color: white;
  font-weight: 900;
  background: linear-gradient(135deg, var(--pink), var(--violet));
}

.mobile-menu { display: none; }

.side-menu a.active{background:color-mix(in srgb,var(--pink) 14%,transparent);color:var(--text)}
.sidebar-external-links{display:grid;grid-template-columns:1fr 48px;gap:8px;align-items:center;margin-top:10px}
.sidebar-external-links .booth-link,.sidebar-external-links .x-link{height:44px;margin:0;display:grid;place-items:center;border-radius:999px;background:linear-gradient(135deg,var(--pink),var(--violet));box-shadow:0 10px 22px rgba(80,40,90,.08)}
.sidebar-external-links .booth-link{min-width:0;text-align:center}
.sidebar-external-links .x-link{color:#fff;font-size:18px;font-weight:950;letter-spacing:-.04em;line-height:1;text-transform:uppercase}
.sidebar-external-links .x-link span{display:block;transform:translateY(-1px)}
@media(max-width:720px){.sidebar-external-links{grid-template-columns:1fr 46px}.sidebar-external-links .booth-link,.sidebar-external-links .x-link{height:42px}}
