/* RSHOLOD-CATALOG-V2 14.09.2026 — тестовая вёрстка страниц разделов каталога (только ?test=yes).
   Всё ограничено контейнером .rs-cv2. Селекторы .content .wrapper .rs-cv2 … сильнее правил media.css
   (.content .wrapper p {font-size:12px!important} при ширине до 1049 px).
   15.09.2026: блок вступления (.block-text-right) — картинка в прежнем размере, цена крупнее текста. */

/* ---- текст ---- */
.content .wrapper .rs-cv2 > p,
.content .wrapper .rs-cv2 > ul > li,
.content .wrapper .rs-cv2 > ol > li,
.content .wrapper .rs-cv2 section p,
.content .wrapper .rs-cv2 section li,
.content .wrapper .rs-cv2 .rs-media__text p,
.content .wrapper .rs-cv2 .rs-media__text li,
.content .wrapper .rs-cv2 .block-text-right p {font-size: 16px !important; line-height: 1.65 !important;}

/* ---- блок вступления: цена — как в живой версии (24 px), крупнее текста ---- */
.content .wrapper .rs-cv2 .block-text-right p.price {font-size: 24px !important; line-height: 1.3 !important;}

/* ---- заголовки H2 описания ---- */
.content .wrapper .rs-cv2 > h2 {margin: 48px 0 20px !important; line-height: 1.25 !important;}
.content .wrapper .rs-cv2 > h2 + section,
.content .wrapper .rs-cv2 > section {padding-top: 0 !important; margin-top: 0 !important;}

/* ---- блок «картинка + текст»: всегда обтекание, как в живой версии — под картинкой не остаётся пустоты
   (решение пользователя 15.09.2026: сетка в две колонки оставляла пустое место); скругление углов фото — оставить ---- */
.content .wrapper .rs-cv2 .rs-media {display: block; margin: 0 0 28px; width: auto; max-width: 100%;}
.content .wrapper .rs-cv2 .rs-media::before {content: none; display: none;}
.content .wrapper .rs-cv2 .rs-media::after {content: ""; display: table; clear: both;}
.content .wrapper .rs-cv2 .rs-media__img {float: left; width: 40%; max-width: 450px; margin: 4px 40px 16px 0;}
.content .wrapper .rs-cv2 .rs-media--right .rs-media__img {float: right; margin: 4px 0 16px 40px;}
.content .wrapper .rs-cv2 .rs-media__img a {display: block;}
.content .wrapper .rs-cv2 .rs-media__img img {display: block; width: 100% !important; max-width: 100% !important; height: auto !important; margin: 0 !important; float: none !important; border-radius: 8px;}
.content .wrapper .rs-cv2 .rs-media__text > :first-child {margin-top: 0 !important;}
.content .wrapper .rs-cv2 .rs-media__text > :last-child {margin-bottom: 0 !important;}
/* список не разрывается обтеканием: начинается целиком под картинкой (иначе первый пункт отрывается от остальных) */
.content .wrapper .rs-cv2 .rs-media__text ul,
.content .wrapper .rs-cv2 .rs-media__text ol {clear: both;}
/* …но если так пустого места больше (список в начале текста), скрипт ставит весь список колонкой рядом с картинкой */
.content .wrapper .rs-cv2 .rs-media--listside .rs-media__text > ul,
.content .wrapper .rs-cv2 .rs-media--listside .rs-media__text > ol {clear: none; display: flow-root;}
/* фото вступления — то же скругление */
.content .wrapper .rs-cv2 .block-text-right img {border-radius: 8px;}

/* картинки со старым align, которые не попали в сетку; картинку блока вступления не трогаем — у неё свой размер */
.content .wrapper .rs-cv2 img[align=left]:not(.block-text-right img) {max-width: 45% !important; margin: 4px 32px 12px 0 !important;}
.content .wrapper .rs-cv2 img[align=right]:not(.block-text-right img) {max-width: 45% !important; margin: 4px 0 12px 32px !important;}

/* ---- Е. превью видео ---- */
.content .wrapper .rs-cv2 .rs-vfacade {margin: 8px 0 36px;}
.content .wrapper .rs-cv2 .rs-vfacade__btn {position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; padding: 0; border: 0; border-radius: 8px; overflow: hidden; background: #0d2a3d; cursor: pointer;}
.content .wrapper .rs-cv2 .rs-vfacade__btn img {position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; margin: 0 !important; opacity: .92; transition: opacity .2s;}
.content .wrapper .rs-cv2 .rs-vfacade__btn:hover img {opacity: 1;}
.content .wrapper .rs-cv2 .rs-vfacade__play {position: absolute; left: 50%; top: 50%; width: 76px; height: 76px; margin: -38px 0 0 -38px; border-radius: 50%; background: #1694D0; box-shadow: 0 6px 24px rgba(0,0,0,.35);}
.content .wrapper .rs-cv2 .rs-vfacade__play::after {content: ""; position: absolute; left: 31px; top: 24px; border-style: solid; border-width: 14px 0 14px 22px; border-color: transparent transparent transparent #fff;}
.content .wrapper .rs-cv2 .rs-vfacade__label {position: absolute; left: 0; right: 0; bottom: 0; padding: 40px 20px 16px; text-align: left; color: #fff; font-size: 16px; font-weight: 600; background: linear-gradient(transparent, rgba(0,0,0,.6));}
/* стрелки на большой картинке — один в один со слайдером сайта (.video-slider-controls) */
.content .wrapper .rs-cv2 .rs-vfacade__stage {position: relative; display: block;}
.content .wrapper .rs-cv2 .rs-vfacade__arrow {position: absolute; top: 50%; margin-top: -30px; width: 60px; height: 60px; padding: 0; border: 0; border-radius: 5px; background-color: #2c96cc; cursor: pointer; z-index: 2; transition: background-color .3s;}
.content .wrapper .rs-cv2 .rs-vfacade__arrow:hover {background-color: #1975a1;}
.content .wrapper .rs-cv2 .rs-vfacade__arrow--prev {left: 15px;}
.content .wrapper .rs-cv2 .rs-vfacade__arrow--next {right: 15px;}
.content .wrapper .rs-cv2 .rs-vfacade__arrow svg {position: absolute; top: calc(50% - 12px); left: calc(50% - 12px); width: 24px; height: 24px;}
@media screen and (max-width: 575px) {
  .content .wrapper .rs-cv2 .rs-vfacade__arrow {width: 30px; height: 30px;}
}
/* лента роликов под большой картинкой (15.09.2026) — как навигация слайдера: карточки 192×108, листается свайпом */
.content .wrapper .rs-cv2 ul.rs-vfacade__nav {display: flex; gap: 24px; margin: 16px 0 0 !important; padding: 0 0 8px !important; list-style: none; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: thin; -webkit-overflow-scrolling: touch;}
.content .wrapper .rs-cv2 ul.rs-vfacade__nav > li {flex: 0 0 192px; margin: 0 !important; padding: 0 !important; scroll-snap-align: start;}
.content .wrapper .rs-cv2 ul.rs-vfacade__nav > li::before {display: none !important; content: none !important;}
.content .wrapper .rs-cv2 .rs-vfacade__thumb {display: block; width: 100%; aspect-ratio: 16 / 9; padding: 0; border: 3px solid transparent; border-radius: 4px; overflow: hidden; background: #0d2a3d; cursor: pointer; transition: border-color .2s;}
.content .wrapper .rs-cv2 li:first-child > .rs-vfacade__thumb,
.content .wrapper .rs-cv2 .rs-vfacade__thumb:hover {border-color: #1694D0;}
.content .wrapper .rs-cv2 .rs-vfacade__thumb img {display: block; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; margin: 0 !important;}

/* ---- Ж. FAQ ---- */
.content .wrapper .rs-cv2 ul.rs-faq {list-style: none; margin: 0 0 28px !important; padding: 0 !important;}
.content .wrapper .rs-cv2 ul.rs-faq > li {padding: 16px 0 !important; margin: 0 !important; border-top: 1px solid #dfe9f0;}
.content .wrapper .rs-cv2 ul.rs-faq > li:last-child {border-bottom: 1px solid #dfe9f0;}
.content .wrapper .rs-cv2 ul.rs-faq > li::before {display: none !important;}
.content .wrapper .rs-cv2 ul.rs-faq > li > strong {display: block; margin-bottom: 6px; font-size: 18px; line-height: 1.35; color: #000;}
.content .wrapper .rs-cv2 .rs-faq--h3 h3 {margin: 20px 0 6px !important; padding: 16px 0 0 !important; border-top: 1px solid #dfe9f0; font-size: 18px !important; line-height: 1.35; text-align: left !important; text-transform: none !important; letter-spacing: 0 !important;}

/* ---- З. карта мастеров без цены ---- */
.content .wrapper .rs-cv2 .rs-master--noprice .master__price-mastera {margin-top: 0;}
.content .wrapper .rs-cv2 .rs-master__price {white-space: nowrap;}

/* ---- ноутбук и планшет ---- */
@media (max-width: 1049px) {
  .content .wrapper .rs-cv2 > h2 {font-size: 22px !important; letter-spacing: .02em !important; margin: 40px 0 16px !important;}
  .content .wrapper .rs-cv2 .rs-media {gap: 24px;}
}

/* ---- телефон ---- */
@media (max-width: 767px) {
  .content .wrapper .rs-cv2 > p,
  .content .wrapper .rs-cv2 > ul > li,
  .content .wrapper .rs-cv2 > ol > li,
  .content .wrapper .rs-cv2 section p,
  .content .wrapper .rs-cv2 section li,
  .content .wrapper .rs-cv2 .rs-media__text p,
  .content .wrapper .rs-cv2 .rs-media__text li,
  .content .wrapper .rs-cv2 .block-text-right p {font-size: 15px !important; line-height: 1.6 !important;}
  .content .wrapper .rs-cv2 .block-text-right p.price {font-size: 20px !important; line-height: 1.3 !important;}
  .content .wrapper .rs-cv2 > h2 {font-size: 20px !important; margin: 32px 0 14px !important;}
  .content .wrapper .rs-cv2 .rs-media,
  .content .wrapper .rs-cv2 .rs-media--right {display: block;}
  .content .wrapper .rs-cv2 .rs-media__img,
  .content .wrapper .rs-cv2 .rs-media--right .rs-media__img {float: none; width: 100%; max-width: none; margin: 0 0 16px;}
  .content .wrapper .rs-cv2 img[align] {float: none !important; display: block; max-width: 100% !important; margin: 0 0 16px !important;}
  .content .wrapper .rs-cv2 .rs-vfacade__play {width: 60px; height: 60px; margin: -30px 0 0 -30px;}
  .content .wrapper .rs-cv2 .rs-vfacade__play::after {left: 24px; top: 18px; border-width: 12px 0 12px 18px;}
  .content .wrapper .rs-cv2 ul.rs-vfacade__nav {gap: 12px; margin-top: 12px !important;}
  .content .wrapper .rs-cv2 ul.rs-vfacade__nav > li {flex-basis: 160px;}
  .content .wrapper .rs-cv2 ul.rs-faq > li > strong {font-size: 16px;}
}

/* Ж. правая цветная колонка (.fixedblock-table, видна до ~1220 px) не перекрывает текст:
   свёрнута в язычок у края, раскрывается по нажатию */
.fixedblock-table {transform: translateX(100%); transition: transform .25s;}
.fixedblock-table.rs-open {transform: none;}
.fixedblock-table::before {content: ""; position: absolute; left: -16px; top: 50%; width: 16px; height: 56px; margin-top: -28px; border-radius: 8px 0 0 8px; background: #1694D0; box-shadow: -2px 0 8px rgba(0,0,0,.2); cursor: pointer;}
.fixedblock-table::after {content: ""; position: absolute; left: -10px; top: 50%; width: 4px; height: 20px; margin-top: -10px; border-left: 2px solid #fff; border-right: 2px solid #fff; box-sizing: border-box; pointer-events: none;}
.fixedblock-table.rs-open::before, .fixedblock-table.rs-open::after {display: none;}
