/*!
 * smit-accordion — группа раскрывающихся разделов. Пара с smit-accordion.js.
 * Виды: light (по умолчанию), bordered, shadow, split.
 */

.smit-acc { display: block; }

.smit-acc-item { min-width: 0; }
.smit-acc .smit-acc-item + .smit-acc-item { border-top: 1px solid var(--border-subtle, #e6ecf2); }

/* заголовок */
.smit-acc-head {
  display: flex; align-items: center; gap: 10px; width: 100%;
  padding: 13px 4px; border: 0; background: transparent; cursor: pointer;
  text-align: left; color: var(--text-primary, #1f2937);
  font-size: var(--sc-fz-md, .95rem); font-weight: 600;
}
.smit-acc-head:hover { color: var(--brand-primary, #43b77a); }
.smit-acc-head:focus-visible { outline: 2px solid var(--focus-outline); outline-offset: -2px; border-radius: var(--radius-sm); }
.smit-acc-item.is-disabled .smit-acc-head { opacity: .5; cursor: not-allowed; }
.smit-acc-item.is-disabled .smit-acc-head:hover { color: var(--text-primary, #1f2937); }

.smit-acc-ic { flex: 0 0 auto; width: 18px; text-align: center; color: var(--text-muted, #64748b); }
.smit-acc-ttl { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.smit-acc-sub {
  font-size: var(--sc-fz-xs, .78rem); font-weight: 400; color: var(--text-muted, #64748b);
}
.smit-acc-badge {
  flex: 0 0 auto; padding: 1px 8px; border-radius: var(--radius-pill);
  background: rgba(67, 183, 122, .14); color: #1f7a52;
  font-size: var(--sc-fz-2xs, .72rem); font-weight: 600;
}
.smit-acc-arrow {
  flex: 0 0 auto; font-size: .72rem; color: var(--text-muted, #64748b);
  transition: transform .2s ease;
}
.smit-acc-item.is-open .smit-acc-arrow { transform: rotate(180deg); }

/* Раскрытие через строку грида 0fr → 1fr: работает с содержимым любой
   высоты, в том числе с появившимся уже после открытия (таблица, карта). */
.smit-acc-panel {
  display: grid; grid-template-rows: 0fr;
  transition: grid-template-rows .22s ease;
}
.smit-acc-item.is-open > .smit-acc-panel { grid-template-rows: 1fr; }
.smit-acc-body { overflow: hidden; min-height: 0; }
.smit-acc-item.is-open > .smit-acc-panel > .smit-acc-body { padding-bottom: 14px; }

/* ── виды ── */
.smit-acc.is-bordered {
  border: 1px solid var(--border-subtle, #dbe2ea); border-radius: var(--radius-sm);
  padding: 0 14px;
}
.smit-acc.is-shadow {
  border: 1px solid var(--border-subtle, #eef2f6); border-radius: var(--radius-sm);
  padding: 0 14px; background: var(--surface-card, #fff);
  box-shadow: var(--shadow-md);
}
.smit-acc.is-split { display: flex; flex-direction: column; gap: 10px; }
.smit-acc.is-split .smit-acc-item {
  border: 1px solid var(--border-subtle, #dbe2ea); border-radius: var(--radius-sm);
  background: var(--surface-card, #fff); padding: 0 14px;
}
.smit-acc.is-split .smit-acc-item + .smit-acc-item { border-top: 1px solid var(--border-subtle, #dbe2ea); }

.smit-acc.is-compact .smit-acc-head { padding: 8px 4px; font-size: var(--sc-fz-sm, .88rem); }
.smit-acc.is-compact .smit-acc-item.is-open > .smit-acc-panel > .smit-acc-body { padding-bottom: 10px; }

/* ── тёмная тема ── */
[data-bs-theme="dark"] .smit-acc-head, .dark-theme .smit-acc-head { color: var(--text-primary); }
[data-bs-theme="dark"] .smit-acc-item + .smit-acc-item, .dark-theme .smit-acc-item + .smit-acc-item,
[data-bs-theme="dark"] .smit-acc.is-bordered, .dark-theme .smit-acc.is-bordered,
[data-bs-theme="dark"] .smit-acc.is-shadow, .dark-theme .smit-acc.is-shadow,
[data-bs-theme="dark"] .smit-acc.is-split .smit-acc-item, .dark-theme .smit-acc.is-split .smit-acc-item {
  border-color: var(--border-subtle);
}
[data-bs-theme="dark"] .smit-acc.is-shadow, .dark-theme .smit-acc.is-shadow,
[data-bs-theme="dark"] .smit-acc.is-split .smit-acc-item, .dark-theme .smit-acc.is-split .smit-acc-item {
  background: var(--surface-card); box-shadow: var(--shadow-md);
}
[data-bs-theme="dark"] .smit-acc-sub, .dark-theme .smit-acc-sub,
[data-bs-theme="dark"] .smit-acc-ic, .dark-theme .smit-acc-ic,
[data-bs-theme="dark"] .smit-acc-arrow, .dark-theme .smit-acc-arrow { color: var(--text-muted); }
[data-bs-theme="dark"] .smit-acc-badge, .dark-theme .smit-acc-badge {
  background: rgba(67, 183, 122, .2); color: #7fd6a8;
}

/* ── движение по настройке системы ── */
@media (prefers-reduced-motion: reduce) {
  .smit-acc-panel, .smit-acc-arrow { transition: none; }
}

/* ── телефон ── */
@media (max-width: 767.98px) {
  .smit-acc-head { padding: 12px 2px; }      /* тач-цель не меньше 44px по высоте */
  .smit-acc.is-bordered, .smit-acc.is-shadow, .smit-acc.is-split .smit-acc-item { padding: 0 10px; }
}
