#appNavigation { margin: 0 0 16px; }
#appNavigation[hidden] { display: none; }
#appNavigation summary {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 10px 14px;
  border-radius: 12px;
  background: var(--b2);
  color: #fff;
  font-weight: 700;
  cursor: pointer;
  list-style: none;
}
#appNavigation summary::-webkit-details-marker { display: none; }
#appNavigation summary::after { content: "▾"; margin-left: auto; }
#appNavigation[open] summary::after { content: "▴"; }
#appNavigationCurrent {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .875rem;
  font-weight: 500;
  color: #fff;
  opacity: .9;
}
#appNavigation nav {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 205px), 1fr));
  gap: 6px;
  padding: 8px;
  margin: 0;
  max-height: min(60vh, 540px);
  overflow: auto;
  border-radius: 0 0 12px 12px;
  background: #fff;
}
#appNavigation nav button {
  text-align: left;
  white-space: normal;
  min-height: 44px;
}
.tour-list { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 290px), 1fr)); }
.tour-card { padding: 16px; border: 1px solid #e8ddd2; border-radius: 14px; min-width: 0; }
.tour-card h3 { margin: 5px 0 8px; }
.tour-card p { white-space: pre-wrap; overflow-wrap: anywhere; }
.tour-card img, .tour-card video { display: block; width: 100%; max-height: 540px; object-fit: contain; border-radius: 8px; margin: 12px 0; }
.tour-card video { background: #191511; }
#tourAdmin { margin-top: 16px; }
#tourForm input[type="file"] { min-width: 0; max-width: 100%; }
@media (max-width: 560px) {
  #appNavigation nav { grid-template-columns: 1fr; }
}
