/* Общая шапка и меню AVAT (брендбук, глава «Меню»). Ставит _apply_site_header.py на все страницы,
   подключается общим блоком головы. Селекторы с .avat-nav, чтобы старые стили страниц её не трогали.
   Компьютер: строка 76 px, панели «Услуги / Обучение / О компании» под строкой.
   Телефон до 980 px: строка 64 px, меню листом на весь экран. */
/* шрифт заголовков брендбука: на старых страницах его нет, грузим отдельно и только когда нужен */
@font-face { font-family: AvatGeo; src: url("/assets/geologica.woff2") format("woff2"); font-weight: 200 800; font-style: normal; font-display: swap; }
@font-face { font-family: AvatInter; src: url("/assets/inter.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; }
.avat-nav { --an-paper: #F6F7F7; --an-white: #FFFFFF; --an-mist: #E8ECEE; --an-ink: #20282C; --an-muted: #5C6A71; --an-line: #CCD3D7;
  --an-depth: #111C23; --an-oxide: #7A4037; --an-brass: #A07436;
  position: sticky; top: 0; z-index: 900; color: var(--an-ink); font: 400 14px/1.4 AvatInter, Inter, Arial, sans-serif; text-align: left; letter-spacing: 0; -webkit-font-smoothing: antialiased; }
.avat-nav--fixed { position: fixed; left: 0; right: 0; top: 0; }
.avat-nav *, .avat-nav *::before, .avat-nav *::after { box-sizing: border-box; }
.avat-nav a { color: inherit; text-decoration: none; }
.avat-nav button { font: inherit; color: inherit; background: none; border: 0; margin: 0; cursor: pointer; letter-spacing: 0; text-transform: none; }
.avat-nav svg { display: block; flex: none; }
.avat-nav :focus-visible { outline: 2px solid var(--an-ink); outline-offset: 2px; }

.an-bar { position: relative; z-index: 3; display: flex; align-items: center; gap: 24px; height: 76px; padding: 0 clamp(20px, 2.4vw, 40px); background: var(--an-paper); border-bottom: 1px solid var(--an-line); }
.an-logo { display: block; width: 116px; color: var(--an-ink); }
.an-logo svg { width: 100%; height: auto; }
/* ссылки по центру свободного места между логотипом и правым блоком (EN, телефон, кнопка), а не вплотную к логотипу */
.an-links { display: flex; align-items: center; gap: 2px; margin: 0 auto; }
.an-top { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 12px; border-radius: 2px; font-size: 14px; white-space: nowrap; }
.an-top:hover { background: rgba(32, 40, 44, .06); }
.an-top[aria-current="page"], .an-top.is-current { box-shadow: inset 0 -2px 0 var(--an-brass); }
.an-top[aria-expanded="true"] { background: var(--an-ink); color: var(--an-paper); box-shadow: none; }
.an-chev { width: 12px; height: 12px; transition: transform .2s; }
.an-top[aria-expanded="true"] .an-chev { transform: rotate(180deg); }
.an-util { display: flex; align-items: center; gap: 16px; font-size: 13px; color: var(--an-muted); white-space: nowrap; }
.an-util a { display: inline-flex; align-items: center; min-height: 44px; }
.an-util a:hover { color: var(--an-ink); }
.an-tel { font-variant-numeric: tabular-nums; }
.an-cta { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; padding: 0 18px; border-radius: 2px; background: var(--an-depth); color: #EEF2F3 !important; font-weight: 500; white-space: nowrap; }
.an-cta:hover { background: #1D2D37; }
.an-arr { width: 13px; height: 13px; }
.an-burger { display: none; align-items: center; gap: 8px; min-height: 44px; padding: 0 4px; font-weight: 500; font-size: 15px; }
.an-burger i { position: relative; width: 18px; height: 12px; }
.an-burger i::before, .an-burger i::after { content: ""; position: absolute; left: 0; right: 0; height: 1.5px; background: currentColor; transition: transform .2s, top .2s; }
.an-burger i::before { top: 2px; } .an-burger i::after { top: 9px; }
.an-burger[aria-expanded="true"] i::before { top: 5px; transform: rotate(45deg); }
.an-burger[aria-expanded="true"] i::after { top: 5px; transform: rotate(-45deg); }

/* панели компьютера */
.an-panel { position: absolute; left: 16px; right: 16px; top: 76px; z-index: 2; max-height: calc(100vh - 92px); overflow: auto; border: 1px solid var(--an-line); border-top: 0; border-radius: 0 0 4px 4px; background: var(--an-white); box-shadow: 0 24px 60px rgba(17, 28, 35, .16); animation: an-in .2s ease both; }
.an-panel[hidden] { display: none; }
@keyframes an-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.an-shade { position: fixed; inset: 76px 0 0; z-index: 1; background: rgba(17, 28, 35, .28); }
.an-shade[hidden] { display: none; }
.an-svc { display: grid; grid-template-columns: 250px minmax(0, 1fr) 300px; }
.an-groups { display: grid; align-content: start; gap: 4px; padding: 16px; background: var(--an-paper); border-right: 1px solid var(--an-line); }
.an-group { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 10px; padding: 14px 14px 14px 16px; border-radius: 4px; text-align: left; }
.an-group b { font: 400 17px/1.25 AvatGeo, Geologica, Arial, sans-serif; font-variation-settings: "SHRP" 50, "CRSV" 0, "slnt" 0; letter-spacing: -.02em; }
.an-group small { grid-column: 1; font-size: 12px; line-height: 1.4; color: var(--an-muted); }
.an-group em { grid-row: 1; grid-column: 2; font-style: normal; font-size: 12px; font-weight: 500; color: var(--an-muted); }
.an-group[aria-selected="true"] { background: var(--an-white); box-shadow: 0 1px 2px rgba(17, 28, 35, .08); }
.an-group[aria-selected="true"]::before { content: ""; position: absolute; left: 0; top: 12px; bottom: 12px; width: 2px; background: var(--an-brass); }
.an-list { display: grid; align-content: start; gap: 2px; margin: 0; padding: 12px; list-style: none; }
.an-list[hidden] { display: none; }
.an-list a { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 16px; min-height: 64px; padding: 12px 14px; border-radius: 4px; }
.an-list a.is-on, .an-list a:hover { background: var(--an-paper); }
.an-list a[aria-current="page"] b { box-shadow: inset 0 -2px 0 var(--an-brass); }
.an-list b { display: block; font-weight: 500; font-size: 15px; line-height: 1.3; }
.an-list small { display: block; margin-top: 3px; font-size: 13px; line-height: 1.45; color: var(--an-muted); }
.an-price { text-align: right; white-space: nowrap; }
.an-price b { font: 400 16px/1.2 AvatGeo, Geologica, Arial, sans-serif; font-variation-settings: "SHRP" 50, "CRSV" 0, "slnt" 0; letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
.an-price small { font-size: 12px; }
.an-prev { display: grid; align-content: start; gap: 10px; padding: 16px; border-left: 1px solid var(--an-line); }
.an-prev figure { margin: 0 0 6px; overflow: hidden; aspect-ratio: 16 / 9; border: 1px solid var(--an-line); border-radius: 4px; background: var(--an-mist); }
.an-prev img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.an-prev > b { font: 400 20px/1.2 AvatGeo, Geologica, Arial, sans-serif; font-variation-settings: "SHRP" 50, "CRSV" 0, "slnt" 0; letter-spacing: -.02em; }
.an-prev p { margin: 0; font-size: 14px; line-height: 1.5; color: var(--an-muted); }
.an-meta { display: flex; flex-wrap: wrap; gap: 8px; }
.an-meta span { padding: 4px 8px; border-radius: 2px; background: var(--an-paper); font-size: 12px; font-variant-numeric: tabular-nums; }
.an-prev > a { display: inline-flex; align-items: center; gap: 8px; margin-top: 6px; font-weight: 500; text-decoration: underline !important; text-underline-offset: 4px; }
.an-foot { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 14px 16px 14px 20px; border-top: 1px solid var(--an-line); background: var(--an-paper); color: var(--an-muted); }
.an-foot b { font-weight: 500; color: var(--an-ink); }
.an-foot-cta { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; padding: 0 18px; border-radius: 2px; background: var(--an-oxide); color: #F6F7F7 !important; font-weight: 500; white-space: nowrap; }
.an-simple { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; padding: 16px; }
.an-simple a { display: grid; gap: 6px; padding: 18px; border-radius: 4px; }
.an-simple a:hover { background: var(--an-paper); }
.an-simple b { display: flex; align-items: center; gap: 8px; font: 400 18px/1.25 AvatGeo, Geologica, Arial, sans-serif; font-variation-settings: "SHRP" 50, "CRSV" 0, "slnt" 0; letter-spacing: -.02em; }
.an-simple small { font-size: 13px; line-height: 1.5; color: var(--an-muted); }

/* лист телефона */
.an-sheet { position: fixed; left: 0; right: 0; top: 64px; bottom: 0; z-index: 2; display: flex; flex-direction: column; background: var(--an-paper); }
.an-sheet[hidden] { display: none; }
.an-sheet-body { flex: 1; overflow: auto; padding: 8px 20px 20px; overscroll-behavior: contain; }
.an-item, .an-sec > summary { display: flex; align-items: center; justify-content: space-between; min-height: 56px; border-bottom: 1px solid var(--an-line); font: 400 22px/1.2 AvatGeo, Geologica, Arial, sans-serif; font-variation-settings: "SHRP" 50, "CRSV" 0, "slnt" 0; letter-spacing: -.02em; list-style: none; cursor: pointer; }
.an-sec > summary::-webkit-details-marker { display: none; }
.an-sec > summary .an-chev { width: 16px; height: 16px; }
.an-sec[open] > summary .an-chev { transform: rotate(180deg); }
.an-chips { display: flex; gap: 6px; overflow-x: auto; padding: 14px 0 6px; scrollbar-width: none; }
.an-chips::-webkit-scrollbar { display: none; }
.an-chips button { flex: none; min-height: 40px; padding: 0 14px; border: 1px solid var(--an-line); border-radius: 2px; background: var(--an-white); font-weight: 500; font-size: 14px; white-space: nowrap; }
.an-chips button[aria-selected="true"] { background: var(--an-ink); border-color: var(--an-ink); color: var(--an-paper); }
.an-plist { margin: 0; padding: 4px 0 12px; list-style: none; }
.an-plist[hidden] { display: none; }
.an-plist a { display: grid; gap: 3px; min-height: 52px; padding: 10px 0; border-bottom: 1px solid rgba(204, 211, 215, .6); }
.an-plist b { font-weight: 500; font-size: 16px; line-height: 1.3; }
.an-plist small { font-size: 13px; color: var(--an-muted); font-variant-numeric: tabular-nums; }
.an-sheet-foot { flex: none; display: grid; gap: 10px; padding: 14px 20px calc(16px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--an-line); background: var(--an-white); }
.an-sheet-cta { display: flex; align-items: center; justify-content: space-between; min-height: 52px; padding: 0 20px; border-radius: 2px; background: var(--an-depth); color: #EEF2F3 !important; font-weight: 500; font-size: 16px; }
.an-sheet-links { display: flex; justify-content: space-between; gap: 12px; }
.an-sheet-links a { display: inline-flex; align-items: center; min-height: 44px; font-size: 15px; }
html.an-lock, html.an-lock body { overflow: hidden; }

@media (max-width: 1240px) { .an-svc { grid-template-columns: 220px minmax(0, 1fr); } .an-prev { display: none; } .an-util .an-tel { display: none; } }
@media (max-width: 980px) {
  .an-bar { height: 64px; gap: 12px; padding: 0 16px 0 20px; }
  .an-logo { width: 92px; }
  .an-links, .an-util, .an-panel, .an-shade { display: none !important; }
  /* на телефоне и планшете в шапке только логотип и «Меню»: кнопка заявки внизу листа меню (.an-sheet-cta) */
  .an-cta { display: none; }
  /* .avat-nav .an-burger: общее правило .avat-nav button { margin: 0 } сильнее простого класса */
  .avat-nav .an-burger { display: inline-flex; margin-left: auto; }
}
@media (prefers-reduced-motion: reduce) { .an-panel { animation: none; } .an-chev, .an-burger i::before, .an-burger i::after { transition: none; } }
@media print { .avat-nav { display: none; } }
