/* tennis-leader.ru — правки поверх копии из вебархива (10.11.2026).
   Подключается nginx-ом (sub_filter) на всех страницах; сама копия сайта не меняется. */

/* --- Плашка о восстановлении --- */
.rs-banner {
  position: relative;
  z-index: 10000;
  background: #fff4cc;
  color: #3d3200;
  font: 14px/1.45 Arial, sans-serif;
  text-align: center;
  padding: 9px 44px 9px 16px;
  border-bottom: 1px solid #ecd98a;
}
.rs-banner a { color: #3d3200; font-weight: 700; text-decoration: underline; white-space: nowrap; }
.rs-banner__close {
  position: absolute; top: 50%; right: 10px; transform: translateY(-50%);
  width: 28px; height: 28px; border: 0; border-radius: 50%;
  background: transparent; color: #3d3200; font-size: 20px; line-height: 28px; cursor: pointer;
}
.rs-banner__close:hover { background: rgba(0, 0, 0, .08); }

/* --- Слайдер главной: уцелевшие фото вместо пропавших, затемнение под белый текст --- */
.elementor-repeater-item-61e0e23 .swiper-slide-bg { background-image: url(/_restore/img/slide-vzroslye-panorama.jpg) !important; background-position: center 58% !important; }
.elementor-repeater-item-d52c008 .swiper-slide-bg { background-image: url(/_restore/img/slide-individualno-para.jpg) !important; background-position: center 42% !important; }
.elementor-repeater-item-cf3d1d9 .swiper-slide-bg { background-image: url(/_restore/img/slide-deti-turniry.jpg) !important; background-position: center 55% !important; }
.elementor-repeater-item-640d6d5 .swiper-slide-bg { background-image: url(/_restore/img/slide-malyshi-gruppa.jpg) !important; background-position: center 36% !important; }
.elementor-repeater-item-0ed7da7 .swiper-slide-bg { background-image: url(/_restore/img/slide-sport.jpg) !important; background-position: center 30% !important; }
.elementor-repeater-item-d4a8ce1 .swiper-slide-bg { background-image: url(/_restore/img/slide-deti-turniry.jpg) !important; background-position: center 60% !important; }
.elementor-slides .swiper-slide-bg { background-size: cover !important; background-color: #24412b; }
.elementor-slides .swiper-slide-inner { background: linear-gradient(90deg, rgba(0, 0, 0, .55), rgba(0, 0, 0, .25)); }
.elementor-slides .elementor-slide-heading,
.elementor-slides .elementor-slide-description { text-shadow: 0 1px 3px rgba(0, 0, 0, .45); }

/* Телефоны и планшеты: первый экран в пропорциях фото (1500×1206) — видна вся панорама корта,
   а не увеличенные лица; остальные слайды подстраиваются под ту же высоту. */
@media (max-width: 1024px) {
  .elementor-slides .swiper-slide { height: auto !important; aspect-ratio: 1500 / 1206; min-height: 300px; }
  .elementor-repeater-item-61e0e23 .swiper-slide-bg { background-position: center center !important; }
}
@media (max-width: 480px) {
  .elementor-slides .swiper-slide { min-height: 350px; }
  .elementor-slides .elementor-slide-heading { font-size: 24px !important; line-height: 1.2 !important; margin-bottom: 8px !important; }
  .elementor-slides .elementor-slide-description { font-size: 15px !important; line-height: 1.4 !important; margin-bottom: 14px !important; }
  .elementor-slides .elementor-slide-button { padding: 10px 22px !important; font-size: 15px !important; }
}

/* Смена слайдов без скрипта Elementor Pro (его в архиве нет): плавная смена, как было на сайте */
.rs-fade .swiper-wrapper { transform: none !important; position: relative; }
.rs-fade .swiper-slide { position: absolute !important; top: 0; left: 0; width: 100% !important; opacity: 0; transition: opacity 1.2s ease; z-index: 0; }
.rs-fade .swiper-slide.rs-active { opacity: 1; z-index: 1; }
/* текст уходящего слайда гаснет сразу, нового — проявляется после фото: без наложения надписей */
.rs-fade .swiper-slide .swiper-slide-contents { opacity: 0; transition: opacity .25s ease; }
.rs-fade .swiper-slide.rs-active .swiper-slide-contents { opacity: 1; transition: opacity .6s ease .7s; }
.rs-fade .elementor-swiper-button { z-index: 2; cursor: pointer; }

/* --- Окно записи вместо формы WordPress, которая в статике не отправляется --- */
.rs-modal { position: fixed; inset: 0; z-index: 10001; display: none; align-items: center; justify-content: center; background: rgba(0, 0, 0, .55); padding: 16px; }
.rs-modal.rs-open { display: flex; }
.rs-modal__box { position: relative; max-width: 420px; width: 100%; background: #fff; color: #1d1d1d; border-radius: 12px; padding: 28px 24px 22px; font: 16px/1.5 Arial, sans-serif; box-shadow: 0 12px 40px rgba(0, 0, 0, .25); }
.rs-modal__box h3 { margin: 0 0 8px; font-size: 22px; line-height: 1.25; color: #111; }
.rs-modal__box p { margin: 0 0 16px; color: #444; font-size: 15px; }
.rs-modal__actions { display: grid; gap: 10px; }
.rs-modal__actions a { display: block; text-align: center; padding: 12px 14px; border-radius: 8px; background: #111; color: #fff !important; font-weight: 700; text-decoration: none; }
.rs-modal__actions a.rs-tg { background: #2aabee; }
.rs-modal__actions a:hover { opacity: .9; }
.rs-modal__close { position: absolute; top: 8px; right: 10px; width: 32px; height: 32px; border: 0; background: transparent; font-size: 24px; cursor: pointer; color: #555; }

/* --- Шапка: меню в одну строку, телефоны и иконки по центру полосы --- */
.elementor-element-1c16b15 > .elementor-container { align-items: center; }
/* обе полосы шапки — с полями по краям и не шире 1240 px: на широких экранах меню не разъезжается */
.elementor-element-1c16b15 > .elementor-container,
.elementor-element-93ada77 > .elementor-container { max-width: 1240px !important; margin: 0 auto; padding-left: 16px; padding-right: 16px; box-sizing: border-box; }
.elementor-element-1c16b15 .elementor-column > .elementor-widget-wrap { align-content: center; align-items: center; }
.elementor-element-1c16b15 .wpr-nav-menu { display: flex !important; flex-wrap: nowrap !important; justify-content: space-between; align-items: center; }
.elementor-element-1c16b15 .wpr-nav-menu > li { float: none !important; }
.elementor-element-1c16b15 .wpr-nav-menu > li > a { white-space: nowrap; padding-left: 7px !important; padding-right: 7px !important; }
.elementor-element-1c16b15 .elementor-widget-text-editor { line-height: 1.35; }
.elementor-element-1c16b15 .elementor-widget-text-editor p { margin: 0; }
.elementor-element-1c16b15 .wpr-nav-menu > li { margin: 0 !important; }
@media (min-width: 1025px) {
  /* меню забирает всю свободную ширину, телефоны и иконки — сколько им нужно */
  .elementor-element-1c16b15 > .elementor-container > .elementor-column:nth-child(1) { width: auto !important; flex: 1 1 auto; min-width: 0; }
  .elementor-element-1c16b15 > .elementor-container > .elementor-column:nth-child(2) { width: auto !important; flex: 0 0 auto; padding-left: 16px; }
  .elementor-element-1c16b15 > .elementor-container > .elementor-column:nth-child(3) { width: auto !important; flex: 0 0 auto; padding-left: 12px; }
}
@media (min-width: 1025px) and (max-width: 1240px) {
  .elementor-element-1c16b15 .wpr-nav-menu > li > a { font-size: 13px !important; padding-left: 5px !important; padding-right: 5px !important; }
}
/* узкие экраны с горизонтальным меню: две ровные строки по центру вместо наезда на телефоны */
@media (max-width: 1024px) {
  .elementor-element-1c16b15 .wpr-nav-menu { flex-wrap: wrap !important; justify-content: center; row-gap: 2px; }
}

/* --- Тренеры плиткой (страница /nashi-trenery/; сетку собирает fix.js) --- */
.rs-coaches { max-width: 1140px; margin: 0 auto; padding: 32px 16px 56px; box-sizing: border-box; }
.rs-coaches .rs-coaches__title { text-align: center; margin: 0 0 28px !important; font-size: 34px !important; line-height: 1.2 !important; font-weight: 500; color: #111; }
.rs-coaches__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 24px; align-items: start; }
.rs-coach { background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 2px 14px rgba(0, 0, 0, .08); display: flex; flex-direction: column; }
.rs-coach__photo { aspect-ratio: 4 / 5; background: linear-gradient(135deg, #e3efe4, #f5f1d8); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.rs-coach__photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; display: block; }
.rs-coach__initial { width: 96px; height: 96px; border-radius: 50%; background: #fff; color: #2f5d3a; font: 600 44px/96px Arial, sans-serif; text-align: center; box-shadow: 0 2px 10px rgba(0, 0, 0, .08); }
.rs-coach__body { padding: 16px 18px 18px; }
.rs-coaches .rs-coach .rs-coach__name { margin: 0 0 6px !important; font-size: 19px !important; line-height: 1.3 !important; font-weight: 600 !important; color: #111 !important; letter-spacing: 0 !important; }
.rs-coach__role { margin: 0 0 12px; font-size: 14px; line-height: 1.45; color: #555; }
.rs-coach details summary { cursor: pointer; display: inline-block; padding: 7px 14px; border-radius: 6px; background: #111; color: #fff; font-size: 14px; list-style: none; }
.rs-coach details summary::-webkit-details-marker { display: none; }
.rs-coach details[open] summary { background: #555; margin-bottom: 12px; }
.rs-coach__more { font-size: 14px; line-height: 1.55; color: #333; }
.rs-coach__more p { margin: 0 0 10px; }

@media (max-width: 600px) {
  .rs-banner { font-size: 13px; padding: 8px 40px 8px 12px; }
  .rs-coaches .rs-coaches__title { font-size: 28px !important; }
  .rs-coaches__grid { grid-template-columns: 1fr 1fr; gap: 14px; }
  .rs-coach__body { padding: 12px; }
  .rs-coaches .rs-coach .rs-coach__name { font-size: 16px !important; }
  .rs-coach__initial { width: 64px; height: 64px; font-size: 30px; line-height: 64px; }
}
