/* Астра: стили действуют только внутри .acm-menu. Montserrat берётся из темы. */
.acm-menu {
  --acm-blue: #199eea;
  --acm-hover: #cccccc;
  --acm-text: #151a21;
  --acm-muted: #626a73;
  --acm-surface: #fff;
  --acm-columns: 4;
  box-sizing: border-box;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  overflow: visible;
  font-family: Montserrat, sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: var(--acm-text);
  text-align: start;
}
.acm-menu *, .acm-menu *::before, .acm-menu *::after { box-sizing: border-box; }
.acm-menu .acm-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, max(205px, calc((100% - (var(--acm-columns) - 1) * 18px) / var(--acm-columns)))), 1fr));
  gap: 28px 18px;
  align-items: start;
  overflow: visible;
}
.acm-menu .acm-item { position: relative; min-width: 0; }
.acm-menu .acm-shell {
  padding: 16px;
  border: 1px solid transparent;
  border-radius: 18px;
  background: var(--acm-surface);
  transition: box-shadow .16s ease, border-color .16s ease;
}
.acm-menu .acm-heading {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
  color: var(--acm-text);
  background: transparent;
  list-style: none;
}
.acm-menu summary.acm-heading { cursor: pointer; }
.acm-menu summary.acm-heading::-webkit-details-marker { display: none; }
.acm-menu summary.acm-heading::marker { content: ''; }
.acm-menu .acm-details { display: block; margin: 0; padding: 0; border: 0; }
.acm-menu .acm-details::before, .acm-menu .acm-heading::before { display: none; }
.acm-menu .acm-cover-wrap { display: block; width: 100%; aspect-ratio: 670 / 440; margin: 0 0 12px; overflow: hidden; border-radius: 10px; background: #edf6fc; }
.acm-menu .acm-cover-wrap img.acm-cover { display: block; width: 100% !important; height: 100% !important; max-width: none; margin: 0 !important; padding: 0 !important; border: 0; border-radius: 0; object-fit: cover; object-position: center; box-shadow: none; }
.acm-menu .acm-cover-placeholder { display: grid; width: 100%; height: 100%; place-items: center; color: #a8cbe1; }
.acm-menu .acm-cover-placeholder svg { width: 64px; height: 48px; }
.acm-menu .acm-title-row { display: flex; align-items: center; gap: 8px; min-height: 48px; margin-inline-start: -12px; }
.acm-menu a.acm-title {
  flex: 1;
  min-width: 0;
  display: block;
  margin: 0;
  padding: 8px 12px !important;
  border: 0;
  font-family: inherit;
  font-size: 22px !important;
  font-weight: 700;
  line-height: 1.35;
  color: var(--acm-text);
  background: transparent;
  text-decoration: none;
  box-shadow: none;
  overflow-wrap: anywhere;
}
.acm-menu a.acm-title:hover, .acm-menu a.acm-title[aria-current] { color: var(--acm-text) !important; background: var(--acm-hover) !important; border-radius: 6px; }
.acm-menu .acm-chevron { display: grid; place-items: center; flex: 0 0 32px; height: 32px; margin-top: 0; border-radius: 8px; color: var(--acm-blue); transition: background .16s ease; }
.acm-menu .acm-chevron svg { width: 20px; height: 20px; transition: transform .16s ease; }
.acm-menu .acm-heading:hover .acm-chevron { background: #eaf6ff; }
.acm-menu .acm-details[open] .acm-chevron svg { transform: rotate(180deg); }
.acm-menu .acm-preview { position: relative; margin-top: 5px; }
.acm-menu .acm-has-more .acm-preview::after { content: ''; position: absolute; bottom: 0; inset-inline: 0; height: 22px; pointer-events: none; background: linear-gradient(transparent, var(--acm-surface)); }
.acm-menu .acm-details[open] + .acm-preview { display: none; }
.acm-menu ul.acm-links { display: block; margin: 0; padding: 0; padding-inline-start: 6px !important; border: 0; list-style: none; }
.acm-menu ul.acm-links > li { display: block; margin: 0; padding: 0; border: 0; list-style: none; }
.acm-menu ul.acm-links > li::before, .acm-menu ul.acm-links > li::marker { display: none; content: ''; }
.acm-menu .acm-shell ul.acm-links > li > a {
  display: block;
  padding: 7px 6px;
  margin: 0 -6px;
  border: 0;
  border-radius: 6px;
  color: var(--acm-muted) !important;
  background: transparent;
  font-family: inherit;
  font-size: 16px !important;
  font-weight: 400;
  line-height: 1.5 !important;
  text-decoration: none;
  box-shadow: none;
  overflow-wrap: anywhere;
  transition: color .12s ease, background .12s ease;
}
.acm-menu .acm-shell ul.acm-links > li > a:hover, .acm-menu .acm-shell ul.acm-links > li > a[aria-current] { color: var(--acm-text) !important; background: var(--acm-hover) !important; }
.acm-menu .acm-full { margin-top: 5px; }
/* JS измеряет высоту первых шести записей с учётом переноса названий. */
.acm-menu .acm-scroll { padding: 0 6px; margin-inline: -6px; max-height: var(--acm-list-height, 228px); overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; scrollbar-gutter: stable; scrollbar-width: thin; scrollbar-color: #b4d7ed transparent; }
.acm-menu .acm-item .acm-shell a.acm-all { display: flex; justify-content: space-between; gap: 8px; margin-top: 12px; padding: 12px 0 3px; border-top: 1px solid #e5eff6; color: #1678bc !important; font-size: 16px !important; line-height: 1.5 !important; font-weight: 600; text-decoration: none; box-shadow: none; }
.acm-menu a.acm-all:hover { text-decoration: underline; }
.acm-menu .acm-item.is-open { z-index: 10; }
.acm-menu .acm-item.is-open .acm-shell { border-color: #e5eff6; box-shadow: 0 16px 48px rgb(24 61 92 / 14%); }
.acm-menu a:focus-visible, .acm-menu summary:focus-visible { outline: 2px solid #1678bc; outline-offset: 4px; border-radius: 5px; }
.acm-menu .acm-details[open] { margin-bottom: 0; }
@media (min-width: 768px) {
  .acm-menu.is-ready .acm-item { min-height: var(--acm-closed-height, 245px); }
  .acm-menu.is-ready .acm-item.is-open .acm-shell { position: absolute; inset-block-start: 0; inset-inline: 0; width: 100%; }
}
@media (max-width: 767px) {
  .acm-menu .acm-grid { gap: 14px; }
  .acm-menu .acm-shell { padding: 14px; }
  .acm-menu .acm-title-row { min-height: 43px; }
  .acm-menu .acm-chevron { flex-basis: 44px; height: 44px; margin-top: 0; }
  .acm-menu .acm-shell ul.acm-links > li > a { padding-block: 11px; }
  .acm-menu .acm-scroll { max-height: var(--acm-list-height, 276px); }
}
.acm-menu.acm-view-cards .acm-item { min-height: 0; }
.acm-menu a.acm-card-link { display: block; color: var(--acm-text); background: transparent; text-decoration: none !important; box-shadow: none; }
.acm-menu .acm-shell h3.acm-card-title { margin: 14px 0 0 !important; padding: 0 !important; color: var(--acm-text) !important; font-family: inherit; font-size: 22px !important; font-weight: 700; line-height: 1.35 !important; text-align: center !important; text-transform: none !important; letter-spacing: normal; overflow-wrap: anywhere; }
.acm-menu .acm-card-link:hover .acm-card-title, .acm-menu .acm-card-link[aria-current] .acm-card-title { color: #1678bc !important; }
@media (prefers-reduced-motion: reduce) {
  .acm-menu .acm-shell, .acm-menu .acm-chevron, .acm-menu .acm-chevron svg, .acm-menu .acm-shell ul.acm-links > li > a { transition: none; }
}
