/* ── /telo/: дополнения к lk.css ── */
.lk-catalog{ padding:100px 0 20px; }
.lk-catalog .section-title{ max-width:820px; margin:0 auto; }

/* подзаголовок практики, цитата, плашки */
.lk-tags{ text-transform:uppercase; letter-spacing:.08em; font-size:13px !important; font-weight:700; opacity:.75; margin-bottom:14px !important; }
.lk-quote{ border-left:3px solid var(--accent-color); padding:4px 0 4px 18px; margin:0 0 18px; font-style:italic; font-size:18px; line-height:1.5; }
.dark-section .lk-quote{ color:var(--white-color); }
.lk-chips{ display:flex; flex-wrap:wrap; gap:10px; margin:18px 0; }
.lk-chips span{ border:1px solid var(--divider-color); background:var(--bg-color); border-radius:30px; padding:8px 16px; font-size:14px; font-weight:600; }
.lk-chips-lg span{ font-size:15px; }
.lk-list-title{ font-weight:700; margin:0 0 10px; color:var(--primary-color); }
.lk-btn-row{ display:flex; flex-wrap:wrap; align-items:center; gap:24px; margin-top:34px; }
.lk-center{ justify-content:center; }
.lk-text-link{ font-weight:700; text-decoration:underline; color:var(--primary-color); }
.lk-sub{ color:var(--accent-color); font-size:14px; text-transform:uppercase; letter-spacing:.06em; margin-bottom:10px; }
.lk-consent{ font-size:12px; opacity:.7; margin-top:14px; }
.lk-consent a{ text-decoration:underline; }

/* практика 2: фото практики фоном, затемнение для читаемости */
.lk-photo-bg{ background-size:cover !important; background-position:center right !important; }
.lk-photo-bg::before{ background:linear-gradient(90deg,#000 0%,rgba(0,0,0,.85) 45%,rgba(0,0,0,.35) 100%) !important; opacity:1 !important; }

/* практика 1: 4 пункта справа без описаний */
#p-orgazm .what-we-item-royal p:empty{ display:none; }
/* hero: фото с затемнением */
#hero{ background-size:cover !important; background-position:center !important; }

@media (max-width:767px){
  .lk-catalog{ padding:60px 0 10px; }
  .lk-quote{ font-size:16px; }
  .lk-photo-bg::before{ background:rgba(0,0,0,.78) !important; }
}

/* практика 5: заголовок по центру — цитата без боковой линии */
.section-title-center .lk-quote{ border-left:0; padding:0; }
#p-kali{ background-size:cover !important; }

/* ── страницы практик ── */
.lk-hero-quote{ display:block; font-style:italic; font-size:20px; line-height:1.45; margin-bottom:10px; }
.hero-royal.lk-photo-bg::before, .intro-video-royal.lk-photo-bg::before{
  background:linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.65) 55%,rgba(0,0,0,.35) 100%) !important; opacity:1 !important; }
.intro-video-royal.lk-photo-bg::before{ background:rgba(0,0,0,.72) !important; }
.hero-btn-royal{ display:flex; flex-wrap:wrap; gap:14px; justify-content:center; }
.lk-btn-ghost.btn-default-royal{ padding:15px 26px !important; }
.lk-btn-ghost::after{ display:none !important; }
.lk-btn-ghost{ background:transparent !important; border:1px solid var(--accent-color); color:var(--white-color) !important; }
.lk-btn-ghost::before{ display:none !important; }
.lk-chips-dark{ justify-content:center; }
.lk-chips-dark span{ background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.18); color:var(--white-color); }
.intro-video-royal .section-title p{ max-width:760px; margin-left:auto; margin-right:auto; }
.why-choose-item-royal p b{ color:var(--accent-color); }
.lk-thanks{ text-align:center; padding:40px 0; }
.lk-thanks h3{ font-size:28px; margin-bottom:10px; }
.lk-checks label{ display:flex; gap:10px; align-items:flex-start; font-size:14px; line-height:1.45; cursor:pointer; }
.lk-checks input{ margin-top:4px; flex:none; accent-color:var(--accent-color); }
.lk-msg{ margin-top:14px; font-weight:600; } .lk-msg.err{ color:#c62828; }
.lk-form-aside img{ width:100%; border-radius:20px; object-fit:cover; max-height:620px; }
@media (max-width:767px){ .lk-hero-quote{ font-size:17px; } }

/* без Каждой Заглавной в меню, крошках, боковых списках и бегущей строке */
.page-category-list ul li a, .breadcrumb-item, .breadcrumb-item a, .scrolling-content span, .footer-links ul li a,
.nav-link, .btn-default, .btn-default-royal{ text-transform:none !important; }

/* /telo/ «Первозданное»: второе фото крупнее и горизонтальное, карточка «СПб · Регулярно» уже */
@media (min-width:992px){
  #p-pervozdannoe .what-we-image-2{ width:calc(62% - 10px); margin-top:-230px; }
  #p-pervozdannoe .what-we-contact-box{ width:calc(38% - 10px); }
}
#p-pervozdannoe .what-we-image-2 figure img{ aspect-ratio:4 / 3; object-position:center; }
#p-pervozdannoe .what-we-image-1 figure img{ object-position:center 40%; }

/* /telo/ Кали: слайдер фото + видео вместо одного фото */
.lk-media-swiper{ position:relative; border-radius:20px; overflow:hidden; aspect-ratio:1 / 1.4; background:#000; margin-bottom:-100px; }
.lk-media-swiper .swiper-slide img, .lk-media-swiper .swiper-slide video{ width:100%; height:100%; object-fit:cover; display:block; margin:0; aspect-ratio:auto; }
.lk-media-swiper .swiper-pagination{ bottom:14px !important; }
.lk-media-swiper .swiper-pagination-bullet{ background:#fff; opacity:.6; }
.lk-media-swiper .swiper-pagination-bullet-active{ background:var(--accent-color); opacity:1; }
.lk-sw-btn{ position:absolute; top:50%; transform:translateY(-50%); z-index:5; width:42px; height:42px; border-radius:50%; border:0;
  background:rgba(0,0,0,.45); color:#fff; font-size:28px; line-height:1; cursor:pointer; }
.lk-sw-prev{ left:12px; } .lk-sw-next{ right:12px; }
.lk-sw-btn.swiper-button-disabled{ opacity:.25; }
.lk-sound{ position:absolute; right:12px; top:12px; z-index:5; width:40px; height:40px; border-radius:50%; border:0; background:rgba(0,0,0,.45); font-size:18px; cursor:pointer; }
@media (max-width:991px){ .lk-media-swiper{ margin-bottom:0; max-width:480px; margin-left:auto; margin-right:auto; } }

/* форма записи: подписи полей и выбор способа связи */
.lk-flabel{ display:block; font-size:14px; font-weight:600; color:var(--primary-color); margin-bottom:8px; }
.lk-chips-sel{ display:flex; flex-wrap:wrap; gap:10px; }
.lk-chip{ border:1px solid var(--divider-color); background:var(--white-color); color:var(--primary-color); border-radius:30px;
  padding:10px 20px; font-weight:600; font-size:15px; cursor:pointer; transition:background .2s, border-color .2s; }
.lk-chip:hover{ border-color:var(--accent-color); }
.lk-chip.is-sel{ background:var(--accent-color); border-color:var(--accent-color); }

/* переключатель вариантов шаблона */
.lk-variant{ position:fixed; left:20px; bottom:20px; z-index:9999; background:var(--primary-color); color:var(--accent-color) !important;
  font-weight:700; font-size:14px; padding:12px 18px; border-radius:30px; box-shadow:0 8px 24px rgba(0,0,0,.25); text-decoration:none; }
.lk-variant:hover{ background:var(--accent-color); color:var(--primary-color) !important; }

/* вариант 2 (service-single) */
.page-header.lk-photo-bg::before{ background:rgba(0,0,0,.6) !important; opacity:1 !important; }
.lk-ph-sub{ color:var(--white-color); text-transform:uppercase; letter-spacing:.08em; font-size:14px; margin-top:16px; opacity:.85; }
.lk-specs ul li{ display:flex; flex-direction:column; gap:2px; }
.lk-specs ul li span{ font-size:12px; text-transform:uppercase; letter-spacing:.06em; opacity:.6; }
.page-category-list ul li a.active{ color:var(--accent-color); font-weight:700; }
.lk-big-quote{ background:var(--accent-color); border-radius:20px; padding:34px 36px; margin:40px 0; }
.lk-big-quote p{ color:var(--primary-color); font-size:20px; line-height:1.5; font-weight:600; margin-bottom:14px; }
.lk-big-quote .lk-ps{ font-size:15px; font-weight:400; }
.service-feature-item p b{ color:var(--primary-color); }
@media (max-width:767px){ .lk-variant{ left:10px; right:10px; bottom:10px; text-align:center; } .lk-big-quote{ padding:24px; } .lk-big-quote p{ font-size:17px; } }


/* меньше пустоты под блоком «Ведущая» */
#master.page-team-single{ padding-bottom:30px !important; }
#master .team-personal-info{ margin-bottom:0 !important; }


.team-contact-item h3 a{ color:inherit !important; text-decoration:none; }
.team-contact-item h3 a:hover{ color:var(--accent-color) !important; }
.lk-tg-ic{ font-size:20px; color:var(--primary-color); }

/* шкала «Степень катарсиса» — 10 кружков */
.lk-cat{ display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; margin:14px 0 18px; }
.lk-cat__l{ font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; opacity:.75; }
.lk-cat__dots{ display:inline-flex; gap:6px; }
.lk-cat__dots i{ width:14px; height:14px; border-radius:50%; border:1.5px solid var(--accent-color); background:transparent; display:block; }
.lk-cat__dots i.on{ background:var(--accent-color); }
.lk-cat b{ font-size:15px; color:var(--accent-color); }
.section-title-center .lk-cat, .hero-content-royal .lk-cat{ justify-content:center; }
.lk-photo-bg .lk-cat__l, .dark-section .lk-cat__l{ color:var(--white-color); }
@media (max-width:767px){ .lk-cat__dots i{ width:12px; height:12px; } .lk-cat__dots{ gap:5px; } }
.approach-item-content p a{ color:var(--primary-color); font-weight:700; text-decoration:underline; }

/* /telo/ hero: SEO-H1 плашкой над крупным слоганом (слоган — div, не заголовок) */
#hero .section-title h1.lk-h1{ position:relative; display:inline-block; font-family:var(--default-font); font-size:14px; font-weight:700; line-height:1.4;
  letter-spacing:.04em; text-transform:uppercase; color:var(--accent-color); cursor:auto; margin-bottom:22px;
  padding:9px 18px 9px 40px; border:1px solid rgba(203,202,123,.45); border-radius:40px; background:rgba(203,202,123,.10); backdrop-filter:blur(6px); }
#hero .section-title h1.lk-h1::before{ content:''; position:absolute; left:16px; top:50%; transform:translateY(-50%); width:15px; height:15px;
  background:url(../images/icon-sub-heading-accent.svg) center/cover no-repeat; }
#hero .lk-slogan{ font-family:var(--accent-font); font-weight:600; font-size:68px; line-height:1.04; letter-spacing:-.025em; color:var(--white-color); max-width:900px; }
#hero .lk-slogan span{ color:var(--accent-color); }
#hero .section-title .lk-slogan + p, #hero .section-title p{ font-size:19px; max-width:640px; margin-top:22px; }
@media (max-width:991px){ #hero .lk-slogan{ font-size:48px; } }
@media (max-width:767px){ #hero .lk-slogan{ font-size:34px; } #hero .section-title h1.lk-h1{ font-size:12px; padding:8px 14px 8px 34px; } #hero .section-title h1.lk-h1::before{ left:13px; width:13px; height:13px; } #hero .section-title p{ font-size:16px; } }

/* /telo/: плитка-навигация по практикам */
.lk-tiles{ display:grid; grid-template-columns:repeat(5,1fr); gap:16px; margin-top:40px; }
.lk-tile{ display:flex; flex-direction:column; background:var(--white-color); border-radius:20px; overflow:hidden; text-decoration:none; color:var(--primary-color);
  box-shadow:0 18px 40px -28px rgba(0,0,0,.45); transition:transform .3s, box-shadow .3s; }
.lk-tile:hover{ transform:translateY(-6px); box-shadow:0 26px 50px -26px rgba(0,0,0,.5); }
.lk-tile__img{ display:block; aspect-ratio:3/4; background-size:cover; background-position:center; }
.lk-tile__t{ font-family:var(--accent-font); font-weight:600; font-size:18px; line-height:1.2; padding:16px 16px 6px; }
.lk-tile__btn{ margin:auto 16px 16px; font-weight:700; font-size:14px; color:var(--primary-color); background:var(--accent-color); border-radius:30px; padding:9px 16px; text-align:center; }
.lk-tiles-hint{ display:none; text-align:center; font-size:13px; opacity:.6; margin-top:12px; }
@media (max-width:991px){
  .lk-tiles{ display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:14px; margin:30px -15px 0; padding:0 15px 10px; scrollbar-width:none; }
  .lk-tiles::-webkit-scrollbar{ display:none; }
  .lk-tile{ flex:0 0 62%; scroll-snap-align:start; }
  .lk-tiles-hint{ display:block; }
}
@media (min-width:600px) and (max-width:991px){ .lk-tile{ flex-basis:38%; } }

/* светлый шаблон практик (кали, гвозди) */
.lk-light-prac{ background-size:cover !important; }
.lk-light-prac .lk-cat__l{ color:var(--primary-color) !important; }
.lk-light-prac .how-work-item-content p:empty{ display:none; }
.lk-light-img{ width:100%; aspect-ratio:1 / 1.4; object-fit:cover; border-radius:20px; display:block; margin-bottom:-100px; }
@media (max-width:991px){ .lk-light-img{ margin-bottom:0; max-width:480px; margin-left:auto; margin-right:auto; } }

/* плитка практик v2: название по центру, 3 строки описания, кнопка по ширине текста, нормальный свайп на мобиле */
.lk-tile{ align-items:center; text-align:center; }
.lk-tile__t{ padding:18px 16px 8px; }
.lk-tile__d{ display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; font-size:14px; line-height:1.45; color:var(--text-color, #555); padding:0 16px; margin-bottom:16px; min-height:calc(1.45em * 3); }
.lk-tile__btn{ margin:auto auto 18px; display:inline-block; padding:9px 20px; }
.lk-tile__img{ width:100%; }
@media (max-width:991px){
  .lk-tiles{ -webkit-overflow-scrolling:touch; overscroll-behavior-x:contain; scroll-padding:0 15px; touch-action:pan-x pan-y; }
  .lk-tile{ flex:0 0 78%; scroll-snap-align:center; }
  .lk-tile__img{ aspect-ratio:4/3; }
}
@media (min-width:600px) and (max-width:991px){ .lk-tile{ flex-basis:44%; } }

/* тёмный блок «зеркально»: контент справа, затемнение справа, фото видно слева */
.lk-flip .row{ justify-content:flex-end; }
.lk-flip.lk-photo-bg{ background-position:center left !important; }
.lk-flip.lk-photo-bg::before{ background:linear-gradient(270deg,#000 0%,rgba(0,0,0,.85) 45%,rgba(0,0,0,.25) 100%) !important; }
@media (max-width:767px){ .lk-flip.lk-photo-bg::before{ background:rgba(0,0,0,.78) !important; } }

/* все практики в формате «Кали»: тёмный/светлый через оверлей */
.lk-prac{ background-size:cover !important; background-position:center !important; }
.lk-prac .how-work-item-content p:empty{ display:none; }
.lk-prac--light .lk-cat__l{ color:var(--primary-color) !important; }
.lk-prac--dark::before{ background:linear-gradient(0deg, rgba(10,10,10,.55) -10%, #0d0d0d 72%) !important; }
.lk-prac--dark .section-title h3, .lk-prac--dark .section-title h2, .lk-prac--dark .section-title p,
.lk-prac--dark .lk-quote, .lk-prac--dark .lk-tags, .lk-prac--dark .lk-cat__l{ color:var(--white-color) !important; }
.lk-prac--dark .section-title h3{ color:var(--accent-color) !important; }
.lk-prac--dark .how-work-item{ background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); }
.lk-prac--dark .how-work-item-content h3{ color:var(--white-color); }
.lk-prac--dark .how-work-item-content p{ color:rgba(255,255,255,.75); }

/* плитка: у Гвоздей кадр левее — видно двух девушек целиком */
.lk-tile[href="#p-gvozdi"] .lk-tile__img{ background-position:30% center; }

/* карусель «Первозданного»: фото танца — кадр левее */
.lk-media-swiper img[src*="pervozdannoe-4k"]{ object-position:30% center !important; }

/* плитка: кадрирование от центра (без прижатия к краю), на мобиле карточка-фото квадратнее */
.lk-tile[href="#p-orgazm"] .lk-tile__img{ background-position:center 68%; }
.lk-tile[href="#p-kali"] .lk-tile__img{ background-position:center 62%; }
.lk-tile[href="#p-svoboda"] .lk-tile__img{ background-position:center 22%; }
.lk-tile[href="#p-gvozdi"] .lk-tile__img{ background-position:center center; }
.lk-tile[href="#p-pervozdannoe"] .lk-tile__img{ background-position:30% center; }
@media (max-width:991px){ .lk-tile__img{ aspect-ratio:1 / 1; } }

/* логотип: иконка + КАТАРСИС — задаём высоту, а не ширину */
.main-header .navbar-brand img{ height:44px; width:auto; max-width:none; }
@media (max-width:767px){ .main-header .navbar-brand img{ height:34px; } }

/* мобильный: фон первого экрана без параллакса, по центру, целиком по высоте блока */
@media (max-width:991px){ #hero{ background-attachment:scroll !important; background-size:cover !important; background-position:78% center !important; padding:110px 0 40px !important; min-height:0 !important; } }

.team-single-image img{ object-position:center top !important; }
