/*
 * Страницы «Типы личности» (/types/<code>/<section>) — реплика Joomla-вида
 * com_content article в шаблоне shaper_helixultimate freud.online.
 * Источник значений: templates/shaper_helixultimate/css/template.css +
 * bootstrap.min.css (BS5) живого сайта. Классы persons_* живут в freud-custom.css.
 * Всё scoped под .freud-types-page, чтобы не задевать Tailwind-разметку.
 */

.freud-types-page {
  font-family: 'pt_sans_local', Helvetica, Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.5;
  color: #252525;
}

/* !important: перебивает unlayered-правила globals.css (`body h1 … Playfair`);
   из layered-типографики страница исключена через :not(.freud-types-page *). */
.freud-types-page h1,
.freud-types-page h2,
.freud-types-page h3,
.freud-types-page h4,
.freud-types-page h5,
.freud-types-page h6 {
  font-family: 'philosopher_local', Helvetica, Arial, sans-serif !important;
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-weight: 500;
  line-height: 1.2;
}
/* live: подзаголовок шапки — pt_sans (custom.css задаёт size/weight) */
.freud-types-page h1.persons_title_name {
  font-family: 'pt_sans_local', Helvetica, Arial, sans-serif !important;
}
.freud-types-page h1 { font-size: calc(1.375rem + 1.5vw); }
.freud-types-page h2 { font-size: calc(1.325rem + 0.9vw); }
.freud-types-page h3 { font-size: calc(1.3rem + 0.6vw); }
.freud-types-page h4 { font-size: calc(1.275rem + 0.3vw); }
.freud-types-page h5 { font-size: 1.25rem; }
@media (min-width: 1200px) {
  .freud-types-page h1 { font-size: 2.5rem; }
  .freud-types-page h2 { font-size: 2rem; }
  .freud-types-page h3 { font-size: 1.75rem; }
  .freud-types-page h4 { font-size: 1.5rem; }
}

.freud-types-page p { margin: 0 0 1rem; }
.freud-types-page figure { margin: 0 0 1rem; }
.freud-types-page img { display: inline-block; max-width: 100%; height: auto; vertical-align: middle; }
.freud-types-page video { max-width: 100%; }
.freud-types-page hr { margin-top: 20px; margin-bottom: 20px; border: 0; border-top: 1px solid #eee; }
.freud-types-page hr.my-4 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; opacity: 0.25; border-top: 1px solid; color: inherit; }
.freud-types-page a { color: #0345bf; text-decoration: none; transition: color 400ms, background-color 400ms; }
.freud-types-page a:hover,
.freud-types-page a:focus,
.freud-types-page a:active { color: #044cd0; text-decoration: none; }
.freud-types-page ul:not([class]) { padding-left: 2rem; margin: 0 0 1rem; list-style: disc; }
.freud-types-page ol:not([class]) { padding-left: 2rem; margin: 0 0 1rem; list-style: decimal; }
.freud-types-page table { border-collapse: collapse; }

/* ---- сетка Bootstrap 5, гаттер 30px как в шаблоне helixultimate ---- */
.freud-types-page .container {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 576px) { .freud-types-page .container { max-width: 540px; } }
@media (min-width: 768px) { .freud-types-page .container { max-width: 720px; } }
@media (min-width: 992px) { .freud-types-page .container { max-width: 960px; } }
@media (min-width: 1200px) { .freud-types-page .container { max-width: 1140px; } }
@media (min-width: 1400px) { .freud-types-page .container { max-width: 1320px; } }

.freud-types-page .row { display: flex; flex-wrap: wrap; margin-right: -15px; margin-left: -15px; }
.freud-types-page .row > [class*='col-'] {
  position: relative;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
}
/* Шапка типа: row вне container (full-bleed, без отрицательных полей) */
.freud-types-page #sp-section-2 .row { margin: 0; }
.freud-types-page #sp-section-2 .col-lg-12 { padding: 0; }
.freud-types-page .col-lg-12 { flex: 0 0 100%; max-width: 100%; }
.freud-types-page .col-lg-4,
.freud-types-page .col-lg-8 { flex: 0 0 100%; max-width: 100%; }
@media (min-width: 992px) {
  .freud-types-page .col-lg-4 { flex: 0 0 33.33333%; max-width: 33.33333%; }
  .freud-types-page .col-lg-8 { flex: 0 0 66.66667%; max-width: 66.66667%; }
}
/* Шапка типа — от края до края (live: row без container) */
.freud-types-page #sp-title { padding: 0; min-height: 0; }

/* display-утилиты BS5: десктопное меню ↔ мобильное sticky-меню */
.freud-types-page .d-none { display: none !important; }
.freud-types-page .d-block { display: block !important; }
@media (min-width: 992px) {
  .freud-types-page .d-lg-block { display: block !important; }
  .freud-types-page .d-lg-none { display: none !important; }
}

/* заголовок-шапка: размер/вес задаёт persons_title_header (freud-custom.css),
   здесь — только то, что live берёт из bootstrap и не перебивает custom.css */
.freud-types-page .display-3 { line-height: 1.2; }
.freud-types-page .lead { font-size: 1.25rem; font-weight: 300; }
.freud-types-page .text-white { color: #fff !important; }
.freud-types-page .persons_header { background-size: cover; background-position: center; }

/* ---- левая колонка: модуль меню типа (template.css helixultimate) ---- */
.freud-types-page #sp-left .sp-module {
  margin-top: 50px;
  border: 1px solid #f3f3f3;
  padding: 30px;
  border-radius: 3px;
}
.freud-types-page #sp-left .sp-module:first-child { margin-top: 0; }
.freud-types-page #sp-left .sp-module .sp-module-title {
  margin: 0 0 30px;
  padding-bottom: 20px;
  font-size: 22px;
  font-weight: 700;
  border-bottom: 1px solid #f3f3f3;
}
.freud-types-page #sp-left .sp-module ul { list-style: none; padding: 0; margin: 0; }
.freud-types-page #sp-left .sp-module ul > li { display: block; border-bottom: 1px solid #f3f3f3; }
.freud-types-page #sp-left .sp-module ul > li:last-child { border-bottom: none; }
.freud-types-page #sp-left .sp-module ul > li > a { display: block; line-height: 36px; padding: 2px 0; color: #252525; }
.freud-types-page #sp-left .sp-module ul > li > a:hover { color: #0345bf; }
/* custom.css live: активный пункт меню типа */
.freud-types-page #sp-left .sp-module ul > li.current > a { color: #379137; font-weight: bold; }

/* ---- мобильное меню (горизонтальный скролл; overflow-правила в freud-custom.css) ---- */
.freud-types-page .persons_mobile_menu { padding: 0 0.75rem; }
.freud-types-page .persons_mobile_menu ul.nav { display: flex; flex-wrap: nowrap; padding-left: 0; margin: 0; list-style: none; }
.freud-types-page .persons_mobile_menu .nav-item a { color: #252525; }
.freud-types-page .persons_mobile_menu .nav-item.current a { color: green; font-weight: bold; }

/* ---- хлебные крошки (BS5 + custom.css live) ---- */
.freud-types-page #sp-breadscrumb { background-color: #fafafc; }
.freud-types-page .breadcrumb {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  background-color: #fafafc;
  padding: 4px 0;
  font-size: 14px;
  margin: 0;
  border-radius: 0;
}
.freud-types-page .breadcrumb li.float-start { float: left; margin-right: 4px; }
.freud-types-page .breadcrumb .divider { color: #6c757d; }
.freud-types-page .breadcrumb-item + .breadcrumb-item { padding-left: 0.5rem; }
.freud-types-page .breadcrumb-item + .breadcrumb-item::before {
  float: left;
  padding-right: 0.5rem;
  color: #6c757d;
  content: '/';
}
.freud-types-page .breadcrumb-item,
.freud-types-page .breadcrumb-item a { font-family: 'pt_sans_local', Helvetica, Arial, sans-serif; color: #252525; }
.freud-types-page .breadcrumb-item a:hover { color: #0345bf; }

/* ---- статья ---- */
/* live custom.css: .view-article #sp-main-body { padding: 0 0 70px !important } */
.freud-types-page #sp-main-body { padding: 0 0 70px; }
.freud-types-page .article-info { display: flex; flex-wrap: wrap; margin-bottom: 1rem; }
.freud-types-page .article-info > span { font-size: 0.813rem; }
.freud-types-page .article-details .article-can-edit { position: relative; margin-bottom: 10px; }
