/* Совместимость с прежней вёрсткой. Сайт свёрстан под Bootstrap 4.5 и Font Awesome 5; правила ниже
   возвращают прежние размеры, отступы и цвета поверх Bootstrap 5.3.8 и Font Awesome Free 7.3.1.
   Подключать СРАЗУ после bootstrap.min.css и до style.css — правила сайта по-прежнему перекрывают эти. */

/* Переменные: шрифтовый стек, цвета ссылок и радиусы как в BS4; иконки FA7 — своей ширины, как в FA5 */
:root {
  --bs-font-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --bs-link-color: #007bff;
  --bs-link-color-rgb: 0, 123, 255;
  --bs-link-hover-color: #0056b3;
  --bs-link-hover-color-rgb: 0, 86, 179;
  --bs-border-radius: .25rem;
  --bs-border-radius-sm: .2rem;
  --bs-border-radius-lg: .3rem;
  --fa-width: auto;
}

/* Reboot: заголовки фиксированного размера (в BS5 они «резиновые» до 1200px), ссылки без подчёркивания */
h1, .h1 { font-size: 2.5rem; }
h2, .h2 { font-size: 2rem; }
h3, .h3 { font-size: 1.75rem; }
h4, .h4 { font-size: 1.5rem; }
a { text-decoration: none; }
a:hover { text-decoration: underline; }
.btn:hover, .nav-link:hover, .nav-link:focus, .dropdown-item:hover, .dropdown-item:focus { text-decoration: none; }

/* Сетка: жёлоб 30px, без контейнера 1320px, колонки BS4 (position:relative, отступы и ширина даже вне .row) */
.container, .container-fluid, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl, .row { --bs-gutter-x: 30px; }
@media (min-width: 1400px) {
  .container, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl { max-width: 1140px; }
}
/* BS5 раздаёт отступы и ширину всем детям .row; в BS4 не-колонки (вложенный .row, картинка, абзац) их не получали */
.row > :where(:not(.col, [class^="col-"], [class*=" col-"])) { width: auto; max-width: none; flex-shrink: 1; padding-right: 0; padding-left: 0; }
.row > p { margin-top: 10px; }                     /* как p в style.css: BS5 обнуляет margin-top у детей .row */
.row > img { max-width: 100%; margin-top: 15px; }  /* как img в style.css */
.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12,.col,.col-auto,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm,.col-sm-auto,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-md,.col-md-auto,.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg,.col-lg-auto,.col-xl-1,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px;flex-shrink:1}
.col{flex-basis:0;flex-grow:1;max-width:100%}
.col-auto{flex:0 0 auto;width:auto;max-width:100%}
.col-1{flex:0 0 8.333333%;max-width:8.333333%}
.col-2{flex:0 0 16.666667%;max-width:16.666667%}
.col-3{flex:0 0 25%;max-width:25%}
.col-4{flex:0 0 33.333333%;max-width:33.333333%}
.col-5{flex:0 0 41.666667%;max-width:41.666667%}
.col-6{flex:0 0 50%;max-width:50%}
.col-7{flex:0 0 58.333333%;max-width:58.333333%}
.col-8{flex:0 0 66.666667%;max-width:66.666667%}
.col-9{flex:0 0 75%;max-width:75%}
.col-10{flex:0 0 83.333333%;max-width:83.333333%}
.col-11{flex:0 0 91.666667%;max-width:91.666667%}
.col-12{flex:0 0 100%;max-width:100%}
@media (min-width:576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.col-sm-auto{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{flex:0 0 100%;max-width:100%}}
@media (min-width:768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.col-md-auto{flex:0 0 auto;width:auto;max-width:100%}.col-md-1{flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{flex:0 0 100%;max-width:100%}}
@media (min-width:992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.col-lg-auto{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{flex:0 0 100%;max-width:100%}}
@media (min-width:1200px){.col-xl{flex-basis:0;flex-grow:1;max-width:100%}.col-xl-auto{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{flex:0 0 100%;max-width:100%}}

/* Шапка: поля навбара, цвета ссылок и значка-«бургера» как в BS4, без кольца фокуса после нажатия */
.navbar { --bs-navbar-padding-x: 1rem; }
.navbar-dark {
  --bs-navbar-color: rgba(255, 255, 255, .5);
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus { color: rgba(255, 255, 255, .75); }
.navbar-toggler:focus { box-shadow: none; }
.nav-link { transition: all linear .3s; }  /* как у ссылок в style.css; BS5 ставит свою */

/* Выпадающие меню */
.dropdown-menu {
  --bs-dropdown-border-color: rgba(0, 0, 0, .15);
  --bs-dropdown-link-hover-color: #16181b;
  --bs-dropdown-link-active-bg: #007bff;
  --bs-dropdown-item-padding-x: 1.5rem;
  top: 100%;
  left: 0;
}

/* Карточки и аккордеон FAQ */
.card {
  --bs-card-spacer-y: 1.25rem;
  --bs-card-spacer-x: 1.25rem;
  --bs-card-cap-padding-y: .75rem;
  --bs-card-cap-padding-x: 1.25rem;
  --bs-card-border-color: rgba(0, 0, 0, .125);
  --bs-card-cap-bg: rgba(0, 0, 0, .03);
  color: inherit;
}
.card-body { min-height: 1px; }
.accordion { overflow-anchor: none; }
.accordion > .card { overflow: hidden; }
.accordion > .card:not(:last-of-type) { border-bottom: 0; border-bottom-right-radius: 0; border-bottom-left-radius: 0; }
.accordion > .card:not(:first-of-type) { border-top-left-radius: 0; border-top-right-radius: 0; }
.accordion > .card > .card-header { border-radius: 0; margin-bottom: -1px; }
.collapsing { position: relative; }

/* Кнопка .btn-light: наведение и нажатие как в BS4 */
.btn-light {
  --bs-btn-color: #212529;
  --bs-btn-hover-color: #212529;
  --bs-btn-hover-bg: #e2e6ea;
  --bs-btn-hover-border-color: #dae0e5;
  --bs-btn-focus-shadow-rgb: 216, 217, 219;
  --bs-btn-active-color: #212529;
  --bs-btn-active-bg: #dae0e5;
  --bs-btn-active-border-color: #d3d9df;
}

/* Видео 16:9 (бывший .embed-responsive) */
.ratio { overflow: hidden; }
