/* Небольшой слой интеграции оригинального оформления с Django-компонентами. */
.django-messages{padding-top:20px}.promo-alert .btn-close{background-image:none}.promo-list__content{text-align:center}.dropdown:hover>.dropdown-menu{display:block}.main-header .navbar-collapse{align-items:center}.coach__img-placeholder,.hall__img-placeholder{display:flex;align-items:center;justify-content:center;min-height:330px;color:#fff;background:linear-gradient(135deg,#0652dd,#00369e);font-size:5rem}.hall__img-placeholder{min-height:260px}.coach__summary{font-size:.85rem;color:#6f6f6f}.article-img-placeholder{display:flex;align-items:center;justify-content:center;min-height:230px;color:#fff;background:linear-gradient(135deg,#0652dd,#00369e);font-size:4rem}.main-form .errorlist{padding:5px 0 0;margin:0;list-style:none;color:#fff;font-size:.75rem}.main-form-section__selected-text{background-color:#0652dd;color:#fff;padding:0 5px}.content-page-body{font-size:1rem}.content-page-body p{margin-bottom:1rem}.page-detail-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:40px}.detail-aside{padding:30px;border:1px solid #ececec;background:#f8f8f8}.detail-aside a{display:block;padding:8px 0;color:#0652dd}.trainer-detail{display:grid;grid-template-columns:380px 1fr;gap:50px}.trainer-detail__photo{width:100%;min-height:500px;object-fit:cover;background:#f1f1f1}.contact-list a{display:block;padding:15px;margin-bottom:10px;border:1px solid #ececec}.contact-list span{display:block;color:#6f6f6f;font-size:.85rem}.pagination{display:flex;justify-content:center;gap:20px;align-items:center;margin-top:30px}.article-cover{width:100%;max-height:600px;object-fit:cover;margin-bottom:30px}.main-footer__info-wrapper{color:#fff}.footer-contacts{display:flex;flex-direction:column;align-items:flex-end;gap:7px}.footer-contacts a{color:#fff}.main-form-section .main-form__form-control,.main-form-section .main-form__form-select{width:100%}
@media(max-width:1199.98px){.dropdown:hover>.dropdown-menu{display:none}.dropdown>.dropdown-menu.show{display:block}.main-header .navbar-collapse.show{display:block}.navbar-nav{padding-top:15px}.nav-item{width:100%}.nav-link{padding:10px 0!important}.dropdown-menu{position:static!important;border:0;box-shadow:none}.header-contacts{margin-top:20px}.footer-contacts{align-items:center}}
@media(max-width:767.98px){.page-detail-grid,.trainer-detail{grid-template-columns:1fr}.trainer-detail{gap:25px}.trainer-detail__photo{min-height:380px}.coach__img-placeholder{min-height:380px}.main-section p{font-size:.95rem}}
.hall-first-screen .first-screen__wrapper{justify-content:flex-end}.schedule-grid{align-items:start}.schedule-section{background:#f8f8f8 url(../img/main-logo-section.svg) 50% 0;background-size:40%}.reviews-list{max-width:650px;margin-right:auto;margin-left:auto}.reviews-list>.col-lg-6{width:100%}#reviews{background:#fff}.review-card{height:calc(100% - 30px);margin-bottom:30px;padding:30px;border:1px solid #ececec;border-radius:3px;background:#fff;transition:.25s}.review-card:hover{box-shadow:0 10px 20px rgba(0,0,0,.1);transform:translateY(-1px)}.review-card__stars{margin-bottom:15px;color:#f2b01e}.review-card__star-muted{color:#d6d6d6}.review-card footer{display:flex;justify-content:space-between;gap:15px;color:#6f6f6f;font-size:.85rem}.section-contacts{background:#f8f8f8 url(../img/main-logo-section.svg) 50% 0;background-size:40%}.hall-contact-grid{display:grid;grid-template-columns:minmax(280px,.65fr) 1.35fr;gap:30px;align-items:stretch}.hall-contact-card{display:flex;flex-direction:column;justify-content:center;padding:40px;border:1px solid #ececec;border-radius:3px;background:#fff}.hall-contact-card__icon{color:#0652dd;font-size:2rem}.hall-contact-card h3{margin:15px 0;font-size:1.15rem}.hall-contact-card a{color:#0652dd;font-size:1.15rem;font-weight:700}.map-section iframe{width:100%;height:100%;min-height:400px;border:1px solid #ececec;border-radius:3px}.photos-list__img{aspect-ratio:1.4;object-fit:cover}
.map-section>.container>iframe{display:block;width:100%;height:500px}.section-contacts .hall-contact-card{text-align:center}.section-contacts .hall-contact-card__icon{margin:0 auto}.halls-map-section{padding-bottom:0}.halls-list-map{display:block;width:100%;height:600px;border:0}.halls-map-empty{padding:60px 20px;margin:0;text-align:center;border:1px solid #ececec;background:#f8f8f8}.before-footer-form{margin-top:0}
@media(max-width:767.98px){.hall-contact-grid{grid-template-columns:1fr}.hall-first-screen .first-screen__wrapper{min-height:580px}.review-card{padding:20px}}
/* При разном количестве текста кнопка остается у нижнего края карточки. */
.coach__wrapper{display:flex;flex-direction:column;align-items:flex-start}.coach__btn{margin-top:auto}.coach__achievments{width:100%}

/* Общая сетка внутренних страниц повторяет структуру оригинального шаблона. */
.main-content{padding-top:80px;padding-bottom:80px}.main-content__intro{max-width:620px;margin:-20px auto 40px;text-align:center;color:#6f6f6f;font-size:.9rem;letter-spacing:.025em}.page-header>.container{display:flex;align-items:center;justify-content:space-between;gap:30px}.page-header__wrapper{min-width:0}.page-header__callback{flex-shrink:0}.related-publications{padding-top:70px}.article-vertical{width:100%}.article-vertical__preview-text{font-size:.9rem;color:#6f6f6f}.coach__btn,.hall__btn,.article__btn,.article-vertical__btn{display:inline-flex;align-items:center;gap:4px}

/* Горизонтальные карточки раздела статей. */
.main-articles-list{display:flex;flex-direction:column;gap:30px;width:100%;max-width:1100px;margin-right:auto;margin-left:auto}.main-articles-article{display:flex;width:100%;min-height:260px;overflow:hidden;border:1px solid #ececec;border-radius:3px;background:#fff;transition:all .25s ease-in-out}.main-articles-article:hover{box-shadow:0 10px 20px rgba(0,0,0,.1);transform:translateY(-1px)}.article__img-link{display:block;flex:0 0 300px;overflow:hidden;border-right:1px solid #ececec}.article__img{display:flex;width:100%;height:100%;min-height:260px;object-fit:cover;transition:transform .25s ease-in-out}.article__img-link:hover .article__img{transform:scale(1.0125)}.article__wrapper{display:flex;min-width:0;flex:1;flex-direction:column;align-items:flex-start;padding:30px}.article__time{display:block;margin-bottom:6px;color:#6f6f6f;font-size:.85rem}.article__title{margin:0 0 15px;font-size:1.25rem;font-weight:700;overflow-wrap:anywhere}.article__link{color:#424242}.article__link:hover{color:#0652dd}.article__preview-text{margin-bottom:20px;color:#6f6f6f;font-size:.9rem;overflow-wrap:anywhere}.article__preview-text p:last-child{margin-bottom:0}.article__btn{margin-top:auto}.article__btn-icon{margin-left:3px}

/* Детальная статья не растягивает текст и обложку на всю ширину экрана. */
.article-body{width:100%;max-width:960px;margin-right:auto;margin-left:auto;overflow-wrap:anywhere}.article-body .article-cover{display:block;width:100%;max-width:900px;height:auto;max-height:520px;margin:0 auto 35px;border-radius:3px;object-fit:cover}.article-body img{max-width:100%;height:auto}.article-body iframe{max-width:100%}.article-body table{display:block;max-width:100%;overflow-x:auto}.related-publications .row{justify-content:center}.related-publications .articles-list-vertical__col{max-width:440px}

/* Модальное окно обратного звонка доступно с любой страницы. */
.callback-modal[hidden]{display:none}.callback-modal{position:fixed;z-index:2000;inset:0;display:flex;align-items:center;justify-content:center;padding:20px}.callback-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.58)}.callback-modal__dialog{position:relative;width:100%;max-width:500px;overflow:hidden;border-radius:4px;background:#fff;box-shadow:0 20px 60px rgba(0,0,0,.28)}.callback-modal__header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #ececec}.callback-modal__title{font-size:1.15rem;font-weight:700;color:#424242}.callback-modal__close{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:0;background:transparent;color:#424242;font-size:1.4rem}.callback-modal__body{padding:24px}.callback-modal-open{overflow:hidden}.footer-logo{margin-bottom:22px}.main-footer__info-wrapper{align-items:flex-end}.footer-btn-callback{margin:18px 0}.footer-email{color:#fff}.footer-email:hover{color:#fff;opacity:.85}.to-top-btn.is-visible{opacity:1}

@media(max-width:991.98px){.main-footer__info-wrapper{align-items:center}.page-header>.container{align-items:flex-start}.article__img-link{flex-basis:260px}}
@media(max-width:767.98px){.main-content{padding-top:50px;padding-bottom:50px}.page-header>.container{display:block}.page-header__callback{margin-top:20px}.main-articles-article{flex-direction:column;min-height:0}.article__img-link{flex-basis:auto;border-right:0;border-bottom:1px solid #ececec}.article__img{height:240px;min-height:240px}.article__wrapper{padding:20px}.article-body .article-cover{max-height:none;margin-bottom:25px}.related-publications .articles-list-vertical__col{max-width:none}.callback-modal{padding:12px}}

/* Настройки шапки и мобильного вступительного текста. */
.header-logo .logo__description{color:#000;font-size:1.5rem;line-height:1.2}.home-intro__mobile-copy{display:none}
@media(max-width:767.98px){.home-intro__desktop-copy{display:none}.home-intro__mobile-copy{display:block;scroll-margin-top:20px}.home-intro__preview p:last-child{margin-bottom:.75rem}.home-intro__more{display:flex;align-items:center;gap:9px;min-height:44px;margin:4px 0 18px;padding:8px 0;border:0;background:transparent;color:#0652dd;font:inherit;font-weight:700;cursor:pointer;touch-action:manipulation}.home-intro__more i{font-size:.8rem;transition:transform .25s ease}.home-intro__more[aria-expanded="true"] i{transform:rotate(180deg)}.home-intro__more:focus-visible{outline:2px solid #0652dd;outline-offset:4px;border-radius:3px}.home-intro__extra[hidden]{display:none}.home-intro__extra{animation:mobile-intro-reveal .25s ease-out}.home-intro__extra p:last-child{margin-bottom:1rem}}
@keyframes mobile-intro-reveal{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media(max-width:575.98px){.header-logo .logo__description{font-size:1.3rem}}
