/**
 * Маркеры списков в контенте CMS (Tailwind preflight убирает list-style у ul/ol).
 */

.prose ul,
.prose ol,
.richtext ul,
.richtext ol,
.ext-richtext ul,
.ext-richtext ol,
.ext-page ul:not(.price-benefits),
.ext-page ol:not(.inline-flex) {
  list-style-position: outside;
  padding-left: 1.5rem;
  margin-top: 0.5em;
  margin-bottom: 0.75em;
}

.prose ul,
.richtext ul,
.ext-richtext ul,
.ext-page ul:not(.price-benefits) {
  list-style-type: disc;
}

.prose ol,
.richtext ol,
.ext-richtext ol,
.ext-page ol:not(.inline-flex) {
  list-style-type: decimal;
}

.prose li,
.richtext li,
.ext-richtext li,
.ext-page ul:not(.price-benefits) > li,
.ext-page ol:not(.inline-flex) > li {
  display: list-item;
}

.prose li > p,
.richtext li > p,
.ext-richtext li > p,
.ext-page ul:not(.price-benefits) li > p,
.ext-page ol li > p {
  margin-top: 0;
  margin-bottom: 0.25em;
}

.ext-page .expandable-content.open {
  overflow: visible;
}

/* Хлебные крошки: сброс конфликтов с page/quiz стилями и выравнивание влево */
nav[aria-label="Breadcrumb"] {
  display: block;
  margin: 0;
  padding: 0;
  border: none;
}

nav[aria-label="Breadcrumb"] > div {
  margin: 0;
  padding: 0;
}

nav[aria-label="Breadcrumb"] .breadcrumbs-trail {
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: center;
  justify-content: flex-start !important;
  width: auto;
  max-width: 100%;
  gap: 0.25rem;
}

@media (min-width: 768px) {
  nav[aria-label="Breadcrumb"] .breadcrumbs-trail {
    gap: 0.5rem;
  }
}

nav[aria-label="Breadcrumb"] .breadcrumbs-trail > .flex {
  display: inline-flex !important;
  flex: 0 0 auto;
  width: auto;
  max-width: none;
}

/* Слот в hero: прижаты к левому краю секции (без mx-auto / max-w-container) */
.hero-breadcrumbs-slot {
  position: absolute;
  top: 1.25rem;
  left: 0;
  right: 0;
  z-index: 10;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0 1rem;
  box-sizing: border-box;
  text-align: left;
}

@media (min-width: 640px) {
  .hero-breadcrumbs-slot {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

@media (min-width: 1024px) {
  .hero-breadcrumbs-slot {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

.hero-breadcrumbs-slot nav,
.hero-breadcrumbs-slot nav > div {
  text-align: left;
}
