/* HP-02: калькулятор астрокартографии — модуль AqAstroCalc (catalog/view/javascript/aq/astro_calc.js).
   Все классы — .aqc-*; размеры в px (модуль встраивается в страницы с разным font-size у html).
   HP-03b: тёмный стиль по умолчанию — как форма заказа на странице товара (product_2.tpl, #buy_report_area_2):
   полупрозрачная тёмная карточка, тёмные поля, светлый текст, сиреневая обводка фокуса, градиентная кнопка.
   Цвета — переменные --aqc-*: страница может переопределить их на .aqc.
   HP-07a: результат — карта с фильтром планет (ПК ~2/3) и панель действий (~1/3); до 959 px панель под картой.
   HP-09a: после первого результата .aqc--wide — карта слева, панель 360 px справа с собственной прокруткой (высота — по колонке карты);
   модуль поднят над соседними блоками (z-index), чтобы списки городов были поверх плашек; группы инструментов, три отчёта,
   готовые вопросы; общее окно .aqc-modal (вход, предложение, инструменты; на телефоне — весь экран). Переменные --aqc-* — и на окне. */

.aqc, .aqc-modal {
  --aqc-card-bg: rgba(30, 41, 59, .8);
  --aqc-card-border: rgba(168, 85, 247, .3);
  --aqc-card-ring: rgba(100, 116, 139, .55);
  --aqc-text: #f1f5f9;
  --aqc-label: #e2e8f0;
  --aqc-muted: #94a3b8;
  --aqc-input-bg: #404856;
  --aqc-input-border: #6b7280;
  --aqc-input-text: #ffffff;
  --aqc-placeholder: #9ca3af;
  --aqc-focus: #a855f7;
  --aqc-focus-ring: rgba(168, 85, 247, .35);
  --aqc-btn-from: #8350cb;
  --aqc-btn-to: #fe6283;
  --aqc-soft: rgba(255, 255, 255, .06);
  --aqc-panel-bg: rgba(15, 23, 42, .55);
  --aqc-panel-border: rgba(148, 163, 184, .25);
  --aqc-list-bg: #1e293b;
  --aqc-list-hover: rgba(168, 85, 247, .2);
  --aqc-theme: #d8b4fe;
  --aqc-error: #fca5a5;
  --aqc-error-bg: rgba(239, 68, 68, .14);
  --aqc-warn-bg: rgba(251, 191, 36, .12);
  --aqc-warn-border: rgba(251, 191, 36, .35);
  --aqc-warn-text: #fde68a;
  --aqc-radius: 16px;
  --aqc-dialog-bg: #1b2335;
}
.aqc {
  position: relative;
  z-index: 5;
  box-sizing: border-box;
  width: 100%;
  min-height: 0;
  padding: 32px;
  border: 2px solid var(--aqc-card-border);
  border-radius: var(--aqc-radius);
  background: var(--aqc-card-bg);
  color: var(--aqc-text);
  font-family: Rubik, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.4;
  text-align: left;
  box-shadow: 0 0 0 2px var(--aqc-card-ring), 0 20px 25px -5px rgba(0, 0, 0, .25), 0 8px 10px -6px rgba(0, 0, 0, .2);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
.aqc *, .aqc *::before, .aqc *::after, .aqc-modal *, .aqc-modal *::before, .aqc-modal *::after { box-sizing: border-box; }
.aqc [hidden], .aqc-modal [hidden] { display: none !important; }

/* Форма. HP-13: порядок и вид — как в форме товара: дата (год, месяц, день) и время (час, минута) — выпадающими списками
   (birth_input.css); от 760 px дата и время в одну строку 3:2 (пять списков равной ширины), город и кнопка — ниже во всю ширину;
   уже — всё столбиком */
.aqc-form {
  display: grid;
  gap: 16px;
  grid-template-columns: 1fr;
  margin: 0;
}
@media (min-width: 760px) {
  .aqc-form { grid-template-columns: 3fr 2fr; }
  .aqc-field--place, .aqc-field--submit { grid-column: 1 / -1; }
}
.aqc-bi { min-height: 46px; color: var(--aqc-input-text); }
.aqc .aqb-select { padding-right: 30px; }

.aqc-field { position: relative; min-width: 0; margin: 0; }
.aqc-label {
  display: block;
  margin: 0 0 8px;
  font-size: 14px;
  font-weight: 500;
  color: var(--aqc-label);
}
.aqc-input {
  display: block;
  width: 100%;
  height: 46px;
  margin: 0;
  padding: 0 12px;
  border: 1px solid var(--aqc-input-border);
  border-radius: 10px;
  background: var(--aqc-input-bg);
  color: var(--aqc-input-text);
  color-scheme: dark;
  font: inherit;
  font-size: 16px;
  line-height: 44px;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
  transition: border-color .15s, box-shadow .15s;
}
.aqc-input:focus { outline: none; border-color: var(--aqc-focus); box-shadow: 0 0 0 3px var(--aqc-focus-ring); }
.aqc-input:disabled { opacity: .55; }
.aqc-input.is-invalid { border-color: var(--aqc-error); }
.aqc-input::placeholder { color: var(--aqc-placeholder); opacity: 1; }
.aqc-input::-webkit-date-and-time-value { text-align: left; }
.aqc-input::-webkit-calendar-picker-indicator { opacity: .8; cursor: pointer; }

/* HP-10d: «I don't know my birth time» — как на странице товара (#unknown_birth_time: label flex items-center, input relative w-4 h-4
   border rounded border-gray-400 + [type=checkbox] Tailwind forms из header.min.css, span text-sm ml-2 mt-1 dark:text-cosmic-400):
   квадрат 16 px, рамка #6b7280, радиус 4 px, белый фон; отмечен — синий #2563eb и белая галочка. Значения в px — свои, без header.min.css */
.aqc-check {
  display: flex;
  align-items: center;
  margin: 10px 0 0;
  font-size: 14px;
  font-weight: 430;
  line-height: 20px;
  color: var(--aqc-muted);
  cursor: pointer;
}
.aqc-check input {
  -webkit-appearance: none;
  appearance: none;
  position: relative;
  flex: none;
  box-sizing: border-box;
  width: 16px;
  height: 16px;
  margin: 4px 0 0;
  padding: 0;
  border: 1px solid #6b7280;
  border-radius: 4px;
  background: #fff;
  color: #2563eb;
  vertical-align: middle;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}
.aqc-check input:checked {
  border-color: transparent;
  background: currentColor url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e") 50% / 100% 100% no-repeat;
}
.aqc-check span { margin: 4px 0 0 8px; }

.aqc-error { margin: 6px 0 0; font-size: 13px; color: var(--aqc-error); }
.aqc-error:empty { display: none; }

/* Автодополнение города; списки плагинов (astro_explore и в окнах) — тоже поверх соседних блоков */
.aqc-ac { position: relative; }
.aqc .aqx-ac__list, .aqc-modal [role="listbox"] { z-index: 60; }
.aqc-ac__list {
  position: absolute;
  z-index: 30;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  max-height: 280px;
  margin: 0;
  padding: 6px;
  overflow-y: auto;
  list-style: none;
  border: 1px solid var(--aqc-input-border);
  border-radius: 10px;
  background: var(--aqc-list-bg);
  box-shadow: 0 16px 32px rgba(0, 0, 0, .45);
}
.aqc-ac__item, .aqc-ac__empty {
  margin: 0;
  padding: 10px 12px;
  border-radius: 8px;
  font-size: 15px;
  color: var(--aqc-text);
}
.aqc-ac__item { cursor: pointer; }
.aqc-ac__item:hover, .aqc-ac__item.is-active { background: var(--aqc-list-hover); }
.aqc-ac__empty { color: var(--aqc-muted); }

/* Кнопки — градиент формы заказа (btn_s_color_7_2) */
.aqc-submit, .aqc-cta {
  border: 0;
  border-radius: 10px;
  background: linear-gradient(90deg, var(--aqc-btn-from), var(--aqc-btn-to));
  color: #fff;
  font: inherit;
  font-size: 17px;
  font-weight: 500;
  cursor: pointer;
  box-shadow: 0 0 0 4px rgba(168, 85, 247, .18);
  transition: opacity .15s, transform .15s, box-shadow .15s;
}
.aqc-submit:hover, .aqc-cta:hover { opacity: .93; box-shadow: 0 0 0 6px rgba(168, 85, 247, .22); }
.aqc-submit:active, .aqc-cta:active { transform: translateY(1px); }
.aqc-submit:focus-visible, .aqc-cta:focus-visible { outline: 2px solid var(--aqc-focus); outline-offset: 3px; }
.aqc-submit {
  display: block;
  width: 100%;
  min-height: 50px;
  margin: 4px 0 0;
  padding: 12px 24px;
}
.aqc-submit:disabled { opacity: .6; cursor: progress; }
@media (min-width: 1000px) {
  .aqc-field--submit { grid-column: 1 / -1; }
}

/* Результат: скрыт до первого расчёта (атрибут hidden), под кнопкой пустого места нет */
.aqc-result { margin-top: 24px; }
.aqc-loading {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px;
  border-radius: 10px;
  background: var(--aqc-soft);
  color: var(--aqc-text);
  font-weight: 500;
}
.aqc-spinner {
  flex: none;
  width: 22px;
  height: 22px;
  border: 3px solid rgba(168, 85, 247, .25);
  border-top-color: var(--aqc-focus);
  border-radius: 50%;
  animation: aqc-spin .8s linear infinite;
}
@keyframes aqc-spin { to { transform: rotate(360deg); } }
.aqc-error--form { margin: 12px 0 0; padding: 12px 16px; border-radius: 10px; background: var(--aqc-error-bg); font-size: 15px; }

.aqc-output { margin-top: 16px; transition: opacity .2s; }
.aqc-output.is-stale { opacity: .45; pointer-events: none; }

.aqc-warning {
  margin: 0 0 12px;
  padding: 12px 16px;
  border: 1px solid var(--aqc-warn-border);
  border-radius: 10px;
  background: var(--aqc-warn-bg);
  color: var(--aqc-warn-text);
  font-size: 14px;
}

/* Раскладка результата: ПК — карта ~2/3 и панель ~1/3, ниже 960 px — панель под картой.
   Широкий блок (.aqc--wide, после первого результата): панель 360 px, её высота — по колонке карты, дальше прокрутка внутри */
.aqc-layout { display: grid; gap: 24px; grid-template-columns: minmax(0, 1fr); align-items: start; }
@media (min-width: 960px) {
  .aqc-layout { grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr); }
  .aqc--wide .aqc-layout { grid-template-columns: minmax(0, 1fr) 360px; align-items: stretch; }
  .aqc--wide .aqc-panel {
    contain: size;
    overflow-y: auto;
    overscroll-behavior: contain;
    margin-right: -10px;
    padding-right: 10px;
    scrollbar-width: thin;
    scrollbar-color: rgba(148, 163, 184, .45) transparent;
  }
  .aqc--wide .aqc-map { height: 600px; }
}
.aqc-main { min-width: 0; scroll-margin-top: 84px; }

/* Фильтр планет */
.aqc-filter { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 12px; }
.aqc-filter__all { display: flex; gap: 6px; }
.aqc-btn-sm {
  height: 32px;
  margin: 0;
  padding: 0 12px;
  border: 1px solid var(--aqc-panel-border);
  border-radius: 999px;
  background: var(--aqc-soft);
  color: var(--aqc-label);
  font: inherit;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
}
.aqc-btn-sm:hover { border-color: var(--aqc-focus); }
.aqc-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.aqc-chips li { margin: 0; }
.aqc-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 32px;
  margin: 0;
  padding: 0 10px;
  border: 1px solid var(--aqc-chip);
  border-radius: 999px;
  background: var(--aqc-panel-bg);
  color: var(--aqc-text);
  font: inherit;
  font-size: 13px;
  cursor: pointer;
  transition: opacity .15s, background .15s;
}
.aqc-chip__sym { color: var(--aqc-chip); font-size: 16px; line-height: 1; font-family: "Segoe UI Symbol", "Noto Sans Symbols", "DejaVu Sans", sans-serif; }
.aqc-chip__line { width: 14px; height: 3px; border-radius: 2px; background: var(--aqc-chip); }
.aqc-chip[aria-pressed="false"] { opacity: .45; border-style: dashed; }
.aqc-chip[aria-pressed="false"] .aqc-chip__line { background: transparent; }
.aqc-chip:focus-visible, .aqc-btn-sm:focus-visible { outline: 2px solid var(--aqc-focus); outline-offset: 2px; }
.aqc-chip--locked { border-color: var(--aqc-panel-border); color: var(--aqc-muted); }
.aqc-chip--locked .aqc-lock { color: var(--aqc-theme); }
.aqc-lock { flex: none; display: inline-block; vertical-align: -2px; }

.aqc-x {
  position: absolute;
  top: 6px;
  right: 6px;
  width: 24px;
  height: 24px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 18px;
  line-height: 24px;
  text-align: center;
  cursor: pointer;
  opacity: .7;
}
.aqc-x:hover, .aqc-x:focus-visible { opacity: 1; background: rgba(148, 163, 184, .2); outline: none; }

.aqc-mapbox {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--aqc-panel-border);
  border-radius: 12px;
  background: hsl(200, 100%, 80%);
}
.aqc-map { width: 100%; height: 480px; }
@media (min-width: 960px) {
  .aqc-map { height: 540px; }
}
.aqc-maptip {
  position: absolute;
  z-index: 2;
  top: 10px;
  left: 10px;
  max-width: min(320px, calc(100% - 70px));
  margin: 0;
  padding: 10px 34px 10px 12px;
  border-radius: 10px;
  background: rgba(15, 23, 42, .86);
  color: #f1f5f9;
  font-size: 13px;
  line-height: 1.35;
  box-shadow: 0 6px 16px rgba(0, 0, 0, .3);
}
@media (max-width: 599px) {
  .aqc { padding: 20px 16px; }
  .aqc-map { height: 360px; }
  /* HP-10a: на телефоне подсказка внизу — вверху маленькой карты подпись места рождения (север) */
  .aqc-maptip { top: auto; bottom: 10px; }
}

/* Маркер места рождения — как в квизе */
.aqc-birth { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.aqc-birth__pin { position: relative; z-index: 1; line-height: 0; }
.aqc-birth__pin svg { display: block; filter: drop-shadow(0 3px 6px rgba(131, 80, 203, .45)); }
.aqc-birth__pulse {
  position: absolute;
  left: 50%;
  bottom: 0;
  z-index: 0;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  transform: translate(-50%, 50%);
  animation: aqc-pulse 2s infinite;
}
@keyframes aqc-pulse {
  0% { box-shadow: 0 0 0 0 rgba(178, 129, 244, .5); }
  70% { box-shadow: 0 0 0 14px rgba(178, 129, 244, 0); }
  100% { box-shadow: 0 0 0 0 rgba(178, 129, 244, 0); }
}
/* HP-10a: подпись над маркером рождения — место, дата, время; крестик закрывает, клик по маркеру открывает снова */
.aqc-birth { cursor: pointer; }
.aqc-bpop { z-index: 3; } /* выше подсказки .aqc-maptip */
.aqc-bpop .maplibregl-popup-content {
  padding: 9px 30px 9px 12px;
  border: 1px solid var(--aqc-panel-border);
  border-radius: 10px;
  background: var(--aqc-list-bg);
  color: var(--aqc-text);
  box-shadow: 0 8px 20px rgba(0, 0, 0, .3);
  font-family: Rubik, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 13px;
  line-height: 1.35;
}
.aqc-bpop .maplibregl-popup-close-button { top: 3px; right: 3px; width: 24px; height: 24px; border-radius: 6px; color: var(--aqc-muted); font-size: 18px; line-height: 22px; }
.aqc-bpop .maplibregl-popup-close-button:hover, .aqc-bpop .maplibregl-popup-close-button:focus-visible { background: rgba(148, 163, 184, .2); color: var(--aqc-text); outline: none; }
.aqc-bpop.maplibregl-popup-anchor-top .maplibregl-popup-tip,
.aqc-bpop.maplibregl-popup-anchor-top-left .maplibregl-popup-tip,
.aqc-bpop.maplibregl-popup-anchor-top-right .maplibregl-popup-tip { border-bottom-color: var(--aqc-list-bg); }
.aqc-bpop.maplibregl-popup-anchor-bottom .maplibregl-popup-tip,
.aqc-bpop.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip,
.aqc-bpop.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip { border-top-color: var(--aqc-list-bg); }
.aqc-bpop.maplibregl-popup-anchor-left .maplibregl-popup-tip { border-right-color: var(--aqc-list-bg); }
.aqc-bpop.maplibregl-popup-anchor-right .maplibregl-popup-tip { border-left-color: var(--aqc-list-bg); }
.aqc-bpop__place { font-weight: 600; overflow-wrap: anywhere; }
.aqc-bpop__when { margin-top: 2px; color: var(--aqc-muted); }

.aqc-pmark {
  width: 24px;
  height: 24px;
  border: 2px solid #fff;
  border-radius: 50%;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 20px;
  text-align: center;
  box-shadow: 0 2px 6px rgba(0, 0, 0, .3);
}

/* Легенда */
.aqc-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 16px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
  font-size: 13px;
  color: var(--aqc-muted);
}
.aqc-legend__item { display: inline-flex; align-items: center; gap: 6px; margin: 0; }
.aqc-legend__item--type { color: var(--aqc-label); }
.aqc-legend__dot { flex: none; display: inline-block; width: 10px; height: 10px; border-radius: 50%; }
.aqc-legend__dots { display: inline-flex; }
.aqc-legend__dots .aqc-legend__dot + .aqc-legend__dot { margin-left: -3px; }

/* Панель действий */
.aqc-panel { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.aqc-panel__intro { display: flex; flex-direction: column; gap: 4px; }
.aqc-panel__title { margin: 0; font-size: 20px; font-weight: 600; line-height: 1.25; color: var(--aqc-text); }
.aqc-panel__lead { margin: 0; font-size: 14px; color: var(--aqc-muted); }
.aqc-cta {
  display: block;
  width: 100%;
  margin: 0;
  padding: 15px 20px;
  color: #fff !important;
  text-align: center;
  text-decoration: none !important;
}
.aqc-download {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 44px;
  margin: 0;
  padding: 10px 16px;
  border: 1px solid var(--aqc-panel-border);
  border-radius: 10px;
  background: var(--aqc-soft);
  color: var(--aqc-text);
  font: inherit;
  font-size: 15px;
  font-weight: 500;
  cursor: pointer;
}
.aqc-download:hover { border-color: var(--aqc-focus); }
.aqc-download:focus-visible { outline: 2px solid var(--aqc-focus); outline-offset: 3px; }
[data-aqc-plugins]:empty { display: none; }

/* Группы инструментов: заголовок со значком «?» (подсказка в одну строку), кнопки-строки */
.aqc-group { display: flex; flex-direction: column; gap: 8px; margin: 0; padding-top: 14px; border-top: 1px solid var(--aqc-panel-border); }
.aqc-group__head { position: relative; display: flex; align-items: center; gap: 8px; }
.aqc-group__title { margin: 0; font-size: 15px; font-weight: 600; line-height: 1.3; letter-spacing: .01em; color: var(--aqc-text); }
.aqc-group__sub { margin: 4px 0 0; font-size: 12px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--aqc-muted); }
.aqc-group__tools { display: flex; flex-direction: column; gap: 6px; }
.aqc-help { display: inline-flex; }
.aqc-help__btn {
  flex: none;
  width: 20px;
  height: 20px;
  margin: 0;
  padding: 0;
  border: 1px solid var(--aqc-panel-border);
  border-radius: 50%;
  background: transparent;
  color: var(--aqc-muted);
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  line-height: 18px;
  text-align: center;
  cursor: help;
}
.aqc-help__btn:hover, .aqc-help.is-open .aqc-help__btn { border-color: var(--aqc-focus); color: var(--aqc-text); }
.aqc-help__btn:focus-visible { outline: 2px solid var(--aqc-focus); outline-offset: 2px; }
.aqc-help__tip {
  display: none;
  position: absolute;
  z-index: 6;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  padding: 8px 10px;
  border: 1px solid var(--aqc-card-border);
  border-radius: 8px;
  background: var(--aqc-list-bg);
  color: var(--aqc-label);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.35;
  box-shadow: 0 10px 24px rgba(0, 0, 0, .4);
}
.aqc-help:hover .aqc-help__tip, .aqc-help__btn:focus-visible + .aqc-help__tip, .aqc-help.is-open .aqc-help__tip { display: block; }
.aqc-tool {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 44px;
  margin: 0;
  padding: 9px 12px;
  border: 1px solid var(--aqc-panel-border);
  border-radius: 10px;
  background: var(--aqc-panel-bg);
  color: var(--aqc-text);
  font: inherit;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.3;
  text-align: left;
  cursor: pointer;
  transition: border-color .15s, background .15s;
}
.aqc-tool:hover { border-color: var(--aqc-focus); background: rgba(168, 85, 247, .1); }
.aqc-tool:focus-visible, .aqc-question:focus-visible, .aqc-report:focus-visible { outline: 2px solid var(--aqc-focus); outline-offset: 2px; }
.aqc-tool__icon { flex: none; display: inline-flex; color: var(--aqc-theme); }
.aqc-tool__label { flex: 1 1 auto; min-width: 0; }
.aqc-tool__chev { flex: none; color: var(--aqc-muted); }

/* Три отчёта: обложка 120×120 с названием на картинке (HP-10a: компонент HP-10b, .aq-cover), цена, ссылка на страницу товара */
.aqc-reports { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0; list-style: none; }
.aqc-reports li { margin: 0; }
.aqc-report {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 8px 10px 8px 8px;
  border: 1px solid var(--aqc-panel-border);
  border-radius: 12px;
  background: var(--aqc-panel-bg);
  color: var(--aqc-text) !important;
  text-decoration: none !important;
  transition: border-color .15s;
}
.aqc-report:hover { border-color: var(--aqc-focus); }
.aqc-report__cover.aq-cover { flex: none; display: block; width: 120px; border-radius: 10px; background: var(--aqc-soft); }
.aqc-report__cover .aq-cover__img { border-radius: 10px; }
.aqc-report__cover .aq-cover__title { margin-bottom: 4px; }
.aqc-report__body { flex: 1 1 auto; display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.aqc-report__price { font-size: 18px; font-weight: 600; color: var(--aqc-theme); }
/* FIX-16: метка скидки Ultimate под ценой — как в карточке товара и корзине (градиент bg_gradient_7_2) */
.aqc-report__badge {
  align-self: flex-start;
  padding: 2px 10px;
  border-radius: 999px;
  background: linear-gradient(90deg, #8350cb, #fe6283);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
  white-space: nowrap;
}

/* Готовые вопросы к Astro Chat */
.aqc-questions { display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 0; list-style: none; }
.aqc-questions li { margin: 0; }
.aqc-question {
  display: block;
  width: 100%;
  margin: 0;
  padding: 9px 12px;
  border: 1px dashed var(--aqc-panel-border);
  border-radius: 10px;
  background: transparent;
  color: var(--aqc-label);
  font: inherit;
  font-size: 14px;
  line-height: 1.35;
  text-align: left;
  cursor: pointer;
  transition: border-color .15s, background .15s;
}
.aqc-question:hover { border-style: solid; border-color: var(--aqc-focus); background: rgba(168, 85, 247, .1); color: var(--aqc-text); }

.aqc-attr { margin: 0; font-size: 12px; text-align: center; }
.aqc-attr a { color: var(--aqc-muted); text-decoration: underline; }

/* Карта: подсказка MapLibre о жестах — шрифтом модуля */
.aqc .maplibregl-cooperative-gesture-screen { font-family: inherit; font-size: 16px; }

/* Окно: вход, предложение, инструменты. Затемнение прокручивается само — содержимое окна ничем не обрезается (списки поиска поверх);
   на телефоне окно на весь экран */
html.aqc-modal-open, html.aqc-modal-open body { overflow: hidden !important; }
.aqc-modal {
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 48px 16px;
  overflow-y: auto;
  overscroll-behavior: contain;
  background: rgba(2, 6, 23, .72);
  color: var(--aqc-text);
  font-family: Rubik, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.4;
  text-align: left;
  opacity: 0;
  transition: opacity .15s ease;
}
.aqc-modal.is-open { opacity: 1; }
.aqc-modal__dialog {
  position: relative;
  width: 100%;
  max-width: 460px;
  margin: auto 0;
  border: 1px solid var(--aqc-card-border);
  border-radius: var(--aqc-radius);
  background: var(--aqc-dialog-bg);
  box-shadow: 0 0 0 1px rgba(100, 116, 139, .35), 0 24px 48px rgba(0, 0, 0, .5);
  outline: none;
  transform: translateY(8px);
  transition: transform .15s ease;
}
.aqc-modal.is-open .aqc-modal__dialog { transform: none; }
.aqc-modal--wide .aqc-modal__dialog { max-width: 880px; }
.aqc-modal__head {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 20px 20px 12px 24px;
  border-radius: var(--aqc-radius) var(--aqc-radius) 0 0;
  background: var(--aqc-dialog-bg);
}
.aqc-modal__title { flex: 1 1 auto; margin: 6px 0 0; font-size: 20px; font-weight: 600; line-height: 1.3; color: var(--aqc-text); }
.aqc-modal__x {
  flex: none;
  width: 36px;
  height: 36px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--aqc-soft);
  color: var(--aqc-text);
  font: inherit;
  font-size: 22px;
  line-height: 36px;
  text-align: center;
  cursor: pointer;
}
.aqc-modal__x:hover { background: rgba(148, 163, 184, .2); }
.aqc-modal__x:focus-visible { outline: 2px solid var(--aqc-focus); outline-offset: 2px; }
.aqc-modal__body { padding: 0 24px 24px; }
.aqc-modal__body:focus { outline: none; }
.aqc-modal__note { margin: 0; padding: 16px; border-radius: 10px; background: var(--aqc-soft); color: var(--aqc-label); }
/* HP-10d: на ПК затемнение — слой прокрутки с padding 48px, липкие элементы встают по нему: текст окна просвечивал над шапкой и под
   липким низом. Шапка любого окна — у края экрана, как у окон обзора (HP-12) и тарифов (AC-02a); липкий низ окна чата — astro_chat.css */
@media (min-width: 600px) {
  .aqc-modal__head { top: -48px; }
}
@media (max-width: 599px) {
  .aqc-modal { padding: 0; }
  .aqc-modal__dialog, .aqc-modal--wide .aqc-modal__dialog { max-width: none; min-height: 100%; margin: 0; border: 0; border-radius: 0; box-shadow: none; }
  .aqc-modal__head { top: 0; padding: 14px 12px 10px 16px; border-radius: 0; }
  .aqc-modal__body { padding: 0 16px 24px; }
}

/* Вход: вкладки Sign in / Create account */
.aqc-auth__lead { margin: 0 0 16px; font-size: 14px; color: var(--aqc-muted); }
/* HP-11: кнопка Google (iframe Google Identity Services, высота 40) и разделитель «or»; место под кнопку — до её загрузки */
.aqc-auth__google[hidden] { display: none; }
.aqc-auth__gbtn { display: flex; justify-content: center; min-height: 44px; }
/* Документ кнопки Google — без color-scheme (светлый); iframe со схемой dark (home_slider.css: * { color-scheme: dark !important })
   браузер подкладывает белым — схема iframe должна совпадать с его документом */
.aqc-auth__gbtn iframe { color-scheme: light !important; }
.aqc-auth__google.is-busy .aqc-auth__gbtn { opacity: .55; pointer-events: none; }
.aqc-auth__gerror { margin: 8px 0 0; text-align: center; }
.aqc-auth__or { display: flex; align-items: center; gap: 12px; margin: 14px 0 16px; font-size: 13px; color: var(--aqc-muted); }
.aqc-auth__or::before, .aqc-auth__or::after { content: ""; flex: 1; height: 1px; background: var(--aqc-panel-border); }
.aqc-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin: 0 0 18px; padding: 4px; border-radius: 12px; background: rgba(15, 23, 42, .6); }
.aqc-tab {
  height: 40px;
  margin: 0;
  padding: 0 10px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: var(--aqc-muted);
  font: inherit;
  font-size: 15px;
  font-weight: 500;
  cursor: pointer;
}
.aqc-tab[aria-selected="true"] { background: var(--aqc-input-bg); color: var(--aqc-text); box-shadow: 0 1px 2px rgba(0, 0, 0, .3); }
.aqc-tab:focus-visible { outline: 2px solid var(--aqc-focus); outline-offset: 1px; }
.aqc-auth__form { display: flex; flex-direction: column; gap: 14px; margin: 0; }
.aqc-auth__hint { margin: 6px 0 0; font-size: 13px; color: var(--aqc-muted); }
.aqc-auth__error { margin: 0; }
.aqc-auth__form .aqc-submit { margin: 2px 0 0; }
.aqc-auth__forgot { margin: 0; font-size: 14px; text-align: center; }
.aqc-auth__forgot a { color: var(--aqc-theme); text-decoration: underline; }
/* HP-10d: строка согласия под кнопками (для обеих вкладок) */
.aqc-auth__consent { margin: 18px 0 0; font-size: 13px; line-height: 1.45; text-align: center; color: var(--aqc-muted); }
.aqc-auth__consent a { color: var(--aqc-theme); text-decoration: underline; }

/* Предложение: «что откроется» и кнопка на ctaUrl */
.aqc-offer__lead { margin: 0 0 14px; font-size: 15px; color: var(--aqc-label); }
.aqc-offer__list { display: flex; flex-direction: column; gap: 10px; margin: 0 0 20px; padding: 0; list-style: none; }
.aqc-offer__list li { display: flex; align-items: flex-start; gap: 10px; margin: 0; font-size: 15px; color: var(--aqc-text); }
.aqc-offer__list svg { flex: none; margin-top: 1px; color: #4ade80; }
