/* tennis-leader.ru — единый читаемый вид внутренних страниц (10.11.2026).
   Файлы стилей отдельных страниц Elementor (post-NNNN.css) и почти все фото в архив не попали: колонки без
   картинок пустели, текст шёл зигзагом, статьи растягивались на всю ширину. Сводим в одну колонку по центру.
   Подключается nginx-ом вместе с fix.css; разметку страниц помечает fix.js (rs-doc, rs-page, rs-empty, rs-full). */

/* ---------- A. Страницы на конструкторе: корпоративный теннис, расписание, фото и видео, политика ---------- */
.rs-doc .rs-empty { display: none !important; }
.rs-doc .rs-full { width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; }
.rs-doc .rs-page > .elementor-section > .elementor-container { max-width: 880px !important; margin: 0 auto; padding-left: 20px; padding-right: 20px; box-sizing: border-box; }
.rs-doc .rs-page > .elementor-section { padding-top: 0 !important; padding-bottom: 0 !important; margin: 0 !important; min-height: 0 !important; }
.rs-doc .rs-page > .elementor-section:last-child { padding-bottom: 56px !important; }
.rs-doc .rs-page .elementor-widget-spacer { display: none !important; }
.rs-doc .rs-page .elementor-column > .elementor-widget-wrap { padding: 0 !important; align-content: flex-start !important; }
.rs-doc .rs-page .elementor-widget { margin-bottom: 18px !important; }
.rs-doc .rs-page .elementor-heading-title { text-align: left !important; color: #111 !important; line-height: 1.25 !important; font-weight: 600 !important; letter-spacing: 0 !important; text-transform: none !important; }
.rs-doc .rs-page h1.elementor-heading-title,
.rs-doc .rs-page h2.elementor-heading-title { font-size: 28px !important; margin: 26px 0 0 !important; }
.rs-doc .rs-page h3.elementor-heading-title,
.rs-doc .rs-page h4.elementor-heading-title,
.rs-doc .rs-page h5.elementor-heading-title,
.rs-doc .rs-page h6.elementor-heading-title,
.rs-doc .rs-page p.elementor-heading-title,
.rs-doc .rs-page div.elementor-heading-title { font-size: 21px !important; margin: 18px 0 0 !important; }
.rs-doc .rs-page .elementor-heading-title.rs-title { font-size: 38px !important; margin: 36px 0 6px !important; font-weight: 500 !important; }
.rs-doc .rs-page .elementor-widget-text-editor,
.rs-doc .rs-page .elementor-widget-text-editor * { text-align: left !important; }
.rs-doc .rs-page .elementor-widget-text-editor { font-size: 17px !important; line-height: 1.7 !important; color: #222 !important; }
.rs-doc .rs-page .elementor-widget-text-editor p { margin: 0 0 14px !important; }
.rs-doc .rs-page .elementor-widget-text-editor ul,
.rs-doc .rs-page .elementor-widget-text-editor ol { margin: 0 0 16px 1.3em !important; padding: 0 !important; }
.rs-doc .rs-page .elementor-widget-text-editor li { margin: 0 0 7px !important; }
.rs-doc .rs-page .elementor-widget-text-editor a { color: #1f6fb5; }
.rs-doc .rs-page img { max-width: 100%; height: auto; border-radius: 10px; }
.rs-doc .rs-page .elementor-widget-video .elementor-wrapper,
.rs-doc .rs-page iframe { border-radius: 10px; overflow: hidden; }

/* таблицы (цены корпоративных программ и др.) — и в страницах, и в статьях */
.rs-doc .rs-page table,
body.single-post .entry-content table { width: 100% !important; border-collapse: collapse !important; font-size: 15px !important; line-height: 1.45; margin: 4px 0 18px; background: #fff; }
.rs-doc .rs-page th, .rs-doc .rs-page td,
body.single-post .entry-content th, body.single-post .entry-content td { border: 1px solid #dcdcdc !important; padding: 10px 12px !important; text-align: left !important; vertical-align: top; }
.rs-doc .rs-page thead th, .rs-doc .rs-page thead td,
.rs-doc .rs-page table:not(:has(thead)) tr:first-child > *,
body.single-post .entry-content thead th { background: #f1f5ec !important; font-weight: 600 !important; }
.rs-doc .rs-page tbody td { font-weight: 400 !important; background: #fff !important; }
.rs-doc .rs-page table:not(:has(thead)) tr:first-child > td { background: #f1f5ec !important; font-weight: 600 !important; }
.rs-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* галерея «Фото и видео» и просмотр фото на весь экран */
.rs-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 12px; margin: 6px 0 28px; }
.rs-gallery__item { display: block; padding: 0; border: 0; background: #eef2ea; border-radius: 10px; overflow: hidden; cursor: zoom-in; aspect-ratio: 1 / 1; }
.rs-gallery__item img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 0 !important; transition: transform .3s ease; }
.rs-gallery__item:hover img { transform: scale(1.04); }
.rs-lightbox { position: fixed; inset: 0; z-index: 10002; display: none; align-items: center; justify-content: center; background: rgba(0, 0, 0, .88); }
.rs-lightbox.rs-open { display: flex; }
.rs-lightbox img { max-width: 92vw; max-height: 88vh; border-radius: 8px; box-shadow: 0 10px 40px rgba(0, 0, 0, .5); }
.rs-lightbox__close, .rs-lightbox__nav { position: absolute; border: 0; background: rgba(255, 255, 255, .12); color: #fff; cursor: pointer; border-radius: 50%; }
.rs-lightbox__close { top: 14px; right: 16px; width: 44px; height: 44px; font-size: 28px; line-height: 44px; }
.rs-lightbox__nav { top: 50%; transform: translateY(-50%); width: 52px; height: 52px; font-size: 34px; line-height: 50px; }
.rs-lightbox__nav.rs-prev { left: 14px; }
.rs-lightbox__nav.rs-next { right: 14px; }
.rs-lightbox__close:hover, .rs-lightbox__nav:hover { background: rgba(255, 255, 255, .25); }
@media (max-width: 600px) {
  .rs-gallery { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .rs-lightbox__nav { width: 40px; height: 40px; font-size: 26px; line-height: 38px; }
}

/* ---------- B. Статьи и новости (тема Astra) ---------- */
body.single-post #content > .ast-container { max-width: 900px !important; }
body.single-post.ast-separate-container .ast-article-single { padding: 40px 48px !important; border-radius: 12px; }
body.single-post .entry-title { font-size: 34px !important; line-height: 1.22 !important; color: #111; margin-bottom: 18px !important; }
body.single-post .entry-content { font-size: 17px; line-height: 1.75; color: #222; }
body.single-post .entry-content p { margin: 0 0 16px; }
body.single-post .entry-content h2 { font-size: 26px; line-height: 1.3; margin: 32px 0 12px; }
body.single-post .entry-content h3 { font-size: 21px; line-height: 1.3; margin: 26px 0 10px; }
body.single-post .entry-content ul,
body.single-post .entry-content ol { margin: 0 0 18px 1.3em; }
body.single-post .entry-content li { margin-bottom: 6px; }
body.single-post .entry-content img { border-radius: 10px; height: auto; max-width: 100%; }
/* записи на конструкторе внутри статьи: ширину задаёт статья, свои поля не нужны */
body.single-post.rs-doc .rs-page > .elementor-section > .elementor-container { max-width: 100% !important; padding-left: 0; padding-right: 0; }
body.single-post.rs-doc .rs-page .elementor-heading-title.rs-title { margin-top: 0 !important; }

/* ---------- C. Списки записей: новости, рубрики, автор — карточками ---------- */
body.blog #primary .ast-row,
body.archive #primary .ast-row { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 24px; margin: 0 !important; }
body.blog #primary .ast-row > article,
body.archive #primary .ast-row > article { width: auto !important; max-width: none !important; float: none !important; margin: 0 !important; padding: 0 !important; }
body.blog #primary .ast-row > article > div,
body.archive #primary .ast-row > article > div { height: 100%; box-sizing: border-box; background: #fff; border-radius: 12px; padding: 22px 24px 20px !important; box-shadow: 0 2px 14px rgba(0, 0, 0, .07); margin: 0 !important; }
body.blog .post-content, body.archive .post-content { width: 100% !important; padding: 0 !important; }
body.blog .entry-title, body.archive .entry-title { font-size: 20px !important; line-height: 1.35 !important; margin: 0 0 8px !important; }
body.blog .entry-title a, body.archive .entry-title a { color: #111 !important; }
body.blog .entry-meta, body.archive .entry-meta { font-size: 13px; margin-bottom: 10px; }
body.blog .entry-content, body.archive .entry-content { font-size: 15px; line-height: 1.6; color: #444; }
body.blog .read-more a, body.archive .read-more a { display: inline-block; margin-top: 6px; padding: 7px 14px; border-radius: 6px; background: #111; color: #fff !important; font-size: 14px; text-decoration: none; }
body.blog .ast-pagination, body.archive .ast-pagination { margin-top: 32px; text-align: center; }
body.blog .ast-pagination .page-numbers,
body.archive .ast-pagination .page-numbers { display: inline-block; min-width: 38px; padding: 8px 12px; margin: 0 3px; border-radius: 8px; background: #fff; box-shadow: 0 1px 6px rgba(0, 0, 0, .08); }
body.blog .ast-pagination .page-numbers.current,
body.archive .ast-pagination .page-numbers.current { background: #111; color: #fff; }
.rs-archive-title,
body.archive .page-title,
body.archive .ast-archive-title { font-size: 34px !important; line-height: 1.2; font-weight: 500; color: #111; margin: 8px 0 24px !important; }
body.archive .ast-archive-description { background: transparent !important; padding: 0 !important; margin-bottom: 8px !important; }

@media (max-width: 700px) {
  .rs-doc .rs-page .elementor-heading-title.rs-title { font-size: 30px !important; margin-top: 24px !important; }
  .rs-doc .rs-page h1.elementor-heading-title,
  .rs-doc .rs-page h2.elementor-heading-title { font-size: 23px !important; }
  .rs-doc .rs-page .elementor-widget-text-editor,
  body.single-post .entry-content { font-size: 16px !important; }
  body.single-post.ast-separate-container .ast-article-single { padding: 22px 18px !important; }
  body.single-post .entry-title { font-size: 26px !important; }
  body.blog #primary .ast-row, body.archive #primary .ast-row { grid-template-columns: 1fr; gap: 16px; }
  .rs-archive-title, body.archive .page-title, body.archive .ast-archive-title { font-size: 28px !important; }
}
