/*
Theme Name: Rimsky-Relax
Theme URI: https://rimskyrelax.ru
Author: Vladimir Pozdnyakov
Author URI: https://t.me/rimsky_relax
Description: Кастомная тема для проекта Rimsky Relax — массаж, женская энергия и телесная практика.
Version: 1.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: rimsky-relax
Tags: custom-theme, minimal, relaxing, massage, woman
*/
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  background: #fefaf8;
  color: #2f1e1e;
  line-height: 1.6;
  padding-top: 60px;
  padding-bottom: 80px;
}

header {
  background: #fcedea;
  padding: 1rem 2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
}

.branding {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  text-decoration: none;
}

.branding img {
  width: 56px;
  height: auto;
  align-self: center;
  position: relative;
  top: 1px;
}

.logo-text {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  line-height: 1.3;
}

.logo-text strong {
  font-size: 1.6rem;
  font-weight: 700;
  color: #c46a5a;
  line-height: 1.1;
  text-align: center;
}

.logo-text span {
  font-size: 0.75rem;
  margin-top: 0.1rem;
  color: #2f1e1e;
  line-height: 1.1;
  text-align: center;
}

nav {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex-wrap: wrap;
}

nav a {
  color: #2f1e1e;
  text-decoration: none;
  font-weight: 500;
  transition: color 0.3s ease;
}

nav a:hover {
  color: #c46a5a;
}

.cta-button {
  padding: 0.8rem 1.4rem;
  background: #d89ab7;
  color: #fff;
  text-decoration: none;
  border-radius: 12px;
  font-weight: bold;
  transition: background 0.3s ease, transform 0.3s ease;
  text-align: center;
  line-height: 1.3;
}

.cta-button:hover {
  background: #c681a2;
  transform: scale(1.05);
}

.hero {
  padding: 3rem 1.5rem;
  text-align: center;
  background: #fff;
}

.hero h2 {
  font-size: 1.8rem;
  color: #b44f44;
  margin-bottom: 1rem;
}

.hero p {
  max-width: 600px;
  margin: 0 auto;
  font-size: 1.1rem;
  color: #4a3a3a;
}

.cta {
  margin-top: 2rem;
}

.cta a {
  display: inline-block;
  padding: 0.8rem 1.5rem;
  background: #c46a5a;
  color: #fff;
  text-decoration: none;
  border-radius: 30px;
  font-weight: bold;
  transition: background 0.3s ease, transform 0.3s ease;
}

.cta a:hover {
  background: #a84e44;
  transform: scale(1.05);
}

footer {
  text-align: center;
  padding: 2rem 1rem 5rem;
  font-size: 0.9rem;
  color: #998080;
}

/* Мобильная нижняя панель */
.bottom-nav {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #fcedea;
  display: none;
  justify-content: space-around;
  align-items: center;
  padding: 0.6rem 1rem;
  border-top: 1px solid #e0c2bd;
  z-index: 1000;
}

.bottom-nav a {
  color: #2f1e1e;
  font-size: 0.85rem;
  text-decoration: none;
  text-align: center;
  transition: color 0.3s ease;
}

.bottom-nav a .fas {
  font-size: 1.3rem;
  margin-bottom: 0.3rem;
  transition: transform 0.3s ease;
}

.bottom-nav a:hover .fas {
  transform: scale(1.2);
}

.bottom-nav a.active {
  color: #a85c47;
}

.bottom-nav a.active .fas {
  background: #b87b6b;
  color: white;
  padding: 0.4rem;
  border-radius: 8px;
}

/* Полноэкранное меню */
.fullscreen-menu {
  display: none;
  position: fixed;
  top: 0; left: 0;
  width: 100vw; height: 100vh;
  background: #fff6f4;
  z-index: 2000;
  padding: 2rem 1.5rem;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1.5rem;
}

.fullscreen-menu button {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: transparent;
  border: none;
  font-size: 2rem;
  color: #c46a5a;
  cursor: pointer;
  transition: transform 0.3s ease;
}

.fullscreen-menu button:hover {
  transform: rotate(90deg);
}

.fullscreen-menu nav {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 1rem;
}

.fullscreen-menu nav a {
  font-size: 1.2rem;
  font-weight: 600;
  color: #c46a5a;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 0.6rem;
  transition: transform 0.3s ease;
}

.fullscreen-menu nav a:hover {
  transform: translateX(4px);
}

.fullscreen-menu .extra {
  margin-top: 2rem;
  font-size: 0.9rem;
  color: #444;
}

.fullscreen-menu .socials {
  display: flex;
  gap: 1rem;
  margin-top: 0.5rem;
}

.fullscreen-menu .socials a {
  font-size: 1.4rem;
  color: #c46a5a;
  transition: transform 0.3s ease;
}

.fullscreen-menu .socials a:hover {
  transform: scale(1.2);
}

/* Адаптивность */
@media (max-width: 1024px) {
  nav {
    display: none;
  }

  .bottom-nav {
    display: flex;
  }

  .logo-text strong {
    font-size: 1.35rem;
  }

  .logo-text span {
    font-size: 0.67rem;
  }
}
/* === Универсальный контентный блок для текста, вставляемого в страницы === */
.content-block {
  max-width: 800px;
  margin: 0 auto;
  font-size: 16px;
  line-height: 1.6;
  font-family: inherit;
  color: #222;;
  padding: 2em 1em;
}

.content-block h2 {
  font-size: 1.5em;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
  color: #C46A5A;
  font-weight: 600;
}

.content-block p {
  margin-bottom: 1.2em;
}

.content-block ul {
  padding-left: 1.2em;
  list-style: disc;
  margin: 1em 0 1.5em 0;
}

.content-block ul li {
  margin-bottom: 0.5em;
}

/* Контактная форма */
.contact-form {
  background: #fffdfc;
  padding: 2rem;
  border-radius: 16px;
  box-shadow: 0 0 10px rgba(90, 80, 75, 0.08);
  max-width: 600px;
  margin: 0 auto;
  font-family: 'Segoe UI', sans-serif;
}

.contact-form label {
  display: block;
  margin-bottom: 1rem;
  font-size: 1rem;
  color: #3a2b2b;
}

.contact-form input[type="text"],
.contact-form textarea {
  width: 100%;
  padding: 10px 14px;
  font-size: 1rem;
  border: 1px solid #e2d5d5;
  border-radius: 12px;
  background: #fff;
  transition: border-color 0.2s ease-in-out;
}

.contact-form input:focus,
.contact-form textarea:focus {
  border-color: #ce9a85;
  outline: none;
}

.contact-form textarea {
  resize: vertical;
  min-height: 120px;
}

.contact-form input[type="checkbox"] {
  margin-right: 8px;
}

.contact-form button {
  background: #d68f7d;
  color: #fff;
  border: none;
  padding: 0.8rem 1.6rem;
  font-size: 1rem;
  border-radius: 12px;
  cursor: pointer;
  transition: background 0.3s ease-in-out;
}

.contact-form button:hover {
  background: #b87467;
}

/* Контактная форма - визуальный эффект */
.contact-form {
  animation: fadeInUp 0.8s ease both;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Что ты получаешь от массажа */
.benefits-block {
  text-align: center;
  padding: 80px 20px;
  background-color: #fefaf8;
}

.benefits-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 40px;
  margin-top: 40px;
}

@media (min-width: 1024px) {
  .benefits-wrapper {
    flex-wrap: nowrap;
    justify-content: space-between;
  }
}

.benefit-card {
  width: 300px;
  padding: 20px;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.05);
  transition: transform 0.3s ease;
}

.benefit-card:hover {
  transform: translateY(-5px);
}

.benefit-card img {
  width: 100%;
  border-radius: 12px;
  margin-bottom: 20px;
}

.benefit-card h3 {
    font-size:20px;
    margin-bottom:10px;
    color:#a8584d;
    min-height:48px; /* из второго блока */
}

.benefit-card p {
  font-size: 16px;
  color: #4c3b3b;
}

.benefit-card {
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.6s ease;
}
.benefit-card.show {
  opacity: 1;
  transform: translateY(0);
}
blockquote {
  background: #fff3f1;
  border-left: 4px solid #c46a5a;
  margin: 1.5rem 0;
  padding: 1rem 1.2rem;
  font-style: italic;
  color: #804a44;
  border-radius: 8px;
  font-size: 1rem;
  line-height: 1.6;
}

/* === Контейнер комментариев === */
#comments {
    font-family: inherit;
    margin-top: 3rem;
}

/* Заголовок "Комментарии" */
.comments-title {
    font-size: 1.5rem;
    color: #b44f44;
    font-weight: 600;
    margin-bottom: 1.5rem;
}

/* Список комментариев без маркеров */
.comment-list,
.comment-list li,
.comment-list .children {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Основной комментарий */
.comment-list li {
    margin-bottom: 1.5rem;
    padding: 1rem;
    border: 1px solid #eee;
    border-radius: 8px;
    background: #fff;
    transition: background 0.2s ease;
}
.comment-list li:hover { background: #fff8f7; }

/* Имя */
.comment-list strong { color: #b44f44; font-size: 1rem; }

/* Текст */
.comment-list div { font-size: 1rem; color: #444; margin-top: 0.3rem; }

/* Вложенные комментарии */
.comment-list .children {
    margin-left: 1.5rem;
    padding-left: 1rem;
    border-left: 2px solid #f1e0dc;
}

/* Активный коммент (ответ) */
.active-reply {
    border: 2px solid #b44f44;
    box-shadow: 0 0 10px rgba(180,79,68,0.2);
}

/* Кнопка "Ответить" */
.comment-list .reply a {
    display: inline-block;
    font-size: 0.9rem;
    color: #b44f44;
    border: 1px solid #b44f44;
    border-radius: 6px;
    padding: 4px 10px;
    text-decoration: none;
    transition: 0.3s ease;
    margin-top: 0.5rem;
}
.comment-list .reply a:hover { background:#b44f44; color:#fff; }

/* Поля формы */
.comment-form textarea,
.comment-form input[type="text"] {
    width:100%; padding:12px; font-size:1rem;
    border:1px solid #ddd; border-radius:8px;
    background:#fffaf9; margin-bottom:1rem;
    transition:0.3s ease;
}
.comment-form textarea:focus,
.comment-form input[type="text"]:focus {
    border-color:#b44f44; box-shadow:0 0 6px rgba(180,79,68,0.15);
}

/* Pending комментарий */
.pending-comment {
    opacity:0; /* старт анимации */
    transform:translateY(-10px);
    animation:fadeInComment 0.6s ease forwards;
    background:#fffefc;
    border:1px dashed #e3d3d0;
}
@keyframes fadeInComment {
    to { opacity:1; transform:translateY(0); }
}

/* Мобильная адаптация */
@media(max-width:768px){
    .comment-list li{padding:0.8rem;font-size:0.95rem;}
    .comment-form .submit{width:100%;padding:12px;}
}

/* Форма кнопки комментариев*/
.comment-form .submit {
    display:inline-block;
    background:#b44f44;
    color:#fff;
    padding:10px 20px;
    font-size:1rem;
    border:none;
    border-radius:8px;
    cursor:pointer;
    transition:0.3s ease;
}
.comment-form .submit:hover {
    background:#963d3d;
}

.comment-body {
    background: #fffaf9;
    border: 1px solid #f1e0dc;
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 10px;
}
.comment-meta {
    font-size: 0.85rem;
    color: #777;
    margin-bottom: 10px;
}
.comment-reply-link {
    display: inline-block;
    padding: 5px 10px;
    border: 1px solid #b44f44;
    color: #b44f44;
    text-decoration: none;
    border-radius: 6px;
    font-size: 0.9rem;
}
.comment-reply-link:hover {
    background: #b44f44;
    color: #fff;
}

/* Для анимации Сообщение об успехе */
.comment-success {
    background:#fffaf9;
    color:#b44f44;
    padding:1rem;
    border:1px solid #f1e0dc;
    border-radius:8px;
    font-size:1.1rem; /* берем большее */
    text-align:center;
    margin:1rem 0;
    transition:opacity 0.5s ease; /* оставляем анимацию */
}

/* Стиль текста с политикой конфиденциальности */
/* Стиль текста политики */
.comment-form .privacy-note {
    font-size: 0.8rem;          /* Чуть меньше */
    color: #999;                /* Светлее серый */
    margin-top: 12px;
    line-height: 1.6;           /* Более воздушно */
    text-align: left;
}

/* Стиль ссылки */
.comment-form .privacy-note a {
    color: #b44f44;             /* Бордовая */
    text-decoration: none;
    font-weight: normal;        /* Без лишней жирности */
}

.comment-form .privacy-note a:hover {
    text-decoration: underline;
}

/* =====================================
   ОТЗЫВЫ: ФОРМА + СПИСОК (ФИНАЛ)
===================================== */

/* Контейнер формы */
.rimsky-review-form-wrapper {
    max-width: 500px;
    margin: 2rem auto;
    background: #fff;
    padding: 1.5rem;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.06);
    animation: fadeInUp 0.8s ease both;
}

/* Заголовки и подписи */
.rimsky-review-form-wrapper label {
    display: block;
    font-weight: 500;
    margin-top: 1rem;
    font-size: 1rem;
    color: #3a2a2a;
}

/* Поля ввода */
.rimsky-review-form-wrapper input[type="text"],
.rimsky-review-form-wrapper textarea {
    width: 100%;
    padding: 0.6rem 0.8rem;
    margin-top: 0.3rem;
    border-radius: 8px;
    border: 1px solid #ddd;
    font-size: 1rem;
    background: #fffaf9;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

/* Фокус на поле */
.rimsky-review-form-wrapper input:focus,
.rimsky-review-form-wrapper textarea:focus {
    border-color: #c46a5a;
    outline: none;
    box-shadow: 0 0 6px rgba(196,106,90,0.15);
}

/* Кнопка отправки */
.rimsky-review-form-wrapper button {
    display: inline-block;
    margin-top: 1rem;
    padding: 0.7rem 1.5rem;
    background: #b44f44;
    color: #fff;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-size: 1rem;
    font-weight: 600;
    transition: background 0.3s ease, transform 0.2s ease;
}

.rimsky-review-form-wrapper button:hover {
    background: #9e443b;
    transform: translateY(-2px);
}

/* Статус */
#review-status {
    font-size: 0.95rem;
    margin-top: 10px;
    font-weight: 500;
    color: #444;
}

/* Список отзывов */
.rimsky-reviews-list {
    max-width: 500px;
    margin: 2rem auto;
    display: flex;
    flex-direction: column;
    gap: 1.5rem; /* Расстояние между блоками */
    position: relative;
}

/* Каждый отзыв */
.rimsky-review-bubble {
    background: #fff4f3;
    border-radius: 16px;
    padding: 1rem 1.2rem;
    box-shadow: 0 2px 6px rgba(0,0,0,0.05);
    font-size: 1rem;
    line-height: 1.6;
    position: relative;
    border: 1px solid #f3e2e1;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Ховер эффект */
.rimsky-review-bubble:hover {
    transform: translateY(-3px);
    box-shadow: 0 4px 10px rgba(0,0,0,0.08);
}

/* Имя автора */
.rimsky-review-bubble strong {
    color: #b44f44;
    display: block;
    margin-bottom: 0.5rem;
    font-size: 1.05rem;
    font-weight: 600;
}

/* Анимация появления */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Разделитель */
.rimsky-review-bubble:not(:last-child)::after {
    content: "";
    display: block;
    height: 1px;
    background: #f1dede;
    margin: 1.5rem auto 0 auto;
    width: 60%;
    opacity: 0.6;
    border-radius: 2px;
}

/* Хлебные крошки */
.breadcrumbs {
    font-size: 14px;
    color: #a05252;
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 10px 0;
}

.breadcrumbs a {
    color: #a05252;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-weight: 500;
}

.breadcrumbs-sep {
    color: #a05252;
}

.breadcrumbs i {
    font-size: 16px;
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

@media (max-width: 768px) {
    .breadcrumbs {
        font-size: 13px;
        margin-bottom: 8px;
    }
}

/* Обзорные блоки на главной */
.landing-preview{padding:80px 20px;background:#fffaf7;text-align:center}
.landing-preview h2{font-size:26px;margin:0 0 40px;color:#a8584d}

.landing-wrapper{display:flex;flex-wrap:wrap;justify-content:center;gap:30px}

.landing-card{width:300px;background:#fff;border-radius:16px;overflow:hidden;
  box-shadow:0 4px 20px rgba(0,0,0,.05);transition:.3s transform,.3s box-shadow}
.landing-card:hover{transform:translateY(-4px);box-shadow:0 8px 28px rgba(0,0,0,.1)}

.landing-link{display:block;text-decoration:none}
.landing-card img{width:100%;height:180px;object-fit:cover;display:block}

.landing-card h3{font-size:20px;margin:16px;color:#a8584d}
.landing-card p{font-size:16px;margin:0 16px 14px;color:#4b3d3d;line-height:1.5}
.landing-card .btn{display:inline-block;margin:0 16px 18px;color:#a8584d;font-size:14px}

@media (min-width:1024px){
  .landing-wrapper{flex-wrap:nowrap;justify-content:space-between}
}

/* Блок: Три пути к свободе в теле */
.rr-threepaths .rr-card {display:flex; flex-direction:column; min-height: 100%; }
.rr-threepaths .rr-card h3 {margin-top: 0.25rem;}
/* если в шаблон попал мелкий img/marker перед h3 */
.rr-threepaths h3 img,
.rr-threepaths h3::marker,
.rr-threepaths .rr-card > img[width="16"],
.rr-threepaths .rr-card > img[height="16"] { display:none !important; }

/* текст тянется, кнопка прилипает к низу */
.rr-threepaths .rr-card .rr-body {flex:1;}
.rr-threepaths .rr-card .rr-link {margin-top:auto;}

/* аккуратный фокус */
.rr-threepaths .rr-card:focus-within { outline:2px solid var(--accent); outline-offset:4px; border-radius:16px; }

/* ФОКУС-РИНГ ДЛЯ КЛАВИАТУРЫ */
.landing-card { position: relative; border-radius: 16px; }

/* когда фокус на ссылке внутри карточки — подсветить саму карточку */
.landing-card:has(.landing-link:focus) {
  outline: 2px solid #d28a74;      /* можешь поставить var(--accent), если задан */
  outline-offset: 4px;
  border-radius: 16px;
}

/* на всякий случай: если когда-нибудь дадим tabindex карточке */
.landing-card:focus {
  outline: 2px solid #d28a74;
  outline-offset: 4px;
}

/* ВЫРОВНЯТЬ ВЫСОТЫ: кнопка всегда снизу */
.landing-link { display: flex; flex-direction: column; min-height: 100%; }
.landing-body { flex: 1; }          /* оберни текстовый абзац в .landing-body */
.landing-card .btn { margin-top: auto; }

/* ЕСЛИ СЕЙЧАС НЕТ КАРТИНОК — не показывать «битый» значок */
.landing-card img[src=""], 
.landing-card img:not([src]) { display: none; }

/* === RIMSKY RELAX — TANTRA LANDING (scoped) === */
.rr-tantra { background:#fff; }

.rr-tantra__container {
  max-width: 1040px; margin: 0 auto; padding: 60px 20px 30px;
}

.rr-tantra__hero {
  background: #fff; border-bottom: 1px solid #f1e0dc;
}
.rr-tantra__title {
  font-size: clamp(28px, 4.5vw, 44px);
  line-height: 1.15;
  color: #b44f44; /* палитра темы */  /* from theme */
}
.rr-tantra__lead {
  margin-top: 14px; font-size: clamp(16px, 2.2vw, 20px); color:#4a3a3a;
}

/* Комикс-дерево */
.rr-tantra__timeline { 
  max-width: 1100px; margin: 0 auto; padding: 30px 16px 80px; 
  display: grid; gap: 36px;
}
.rr-tantra__row {
  display: grid; align-items: center;
  grid-template-columns: 1.05fr 1fr;
  gap: 28px;
  background: #fffaf9;
  border: 1px solid #f1e0dc;
  border-radius: 16px;
  padding: 22px;
  box-shadow: 0 4px 14px rgba(0,0,0,0.03);
  opacity: 0; transform: translateY(18px);
  transition: opacity .6s ease, transform .6s ease;
}
.rr-tantra__row.in-view { opacity: 1; transform: translateY(0); }

.rr-tantra__row--text-right { grid-template-columns: 1fr 1.05fr; }
.rr-tantra__row--text-right .rr-tantra__text { order: 2; }
.rr-tantra__row--text-right .rr-tantra__media { order: 1; }

.rr-tantra__text h2 {
  font-size: clamp(20px, 3vw, 28px);
  color:#a8584d; margin: 0 0 8px;
}
.rr-tantra__text p { font-size: 16px; color:#4b3d3d; }

.rr-tantra__media img {
  width: 100%; height: 100%; object-fit: cover; border-radius: 12px;
  display:block; aspect-ratio: 4 / 3;
}

/* CTA внутри кадра */
.rr-tantra__cta { margin-top: 14px; }
.rr-tantra .cta-button { 
  background:#d89ab7; 
}
.rr-tantra .cta-button:hover { background:#c681a2; }

/* Мобильная адаптация */
@media (max-width: 900px){
  .rr-tantra__row,
  .rr-tantra__row--text-right {
    grid-template-columns: 1fr;
  }
  .rr-tantra__row--text-right .rr-tantra__text { order: 1; }
  .rr-tantra__row--text-right .rr-tantra__media { order: 2; }
}
/* === RIMSKY RELAX — HERO FIX для страницы Tantra === */
.page-template-tantra .rr-tantra__hero {
  padding-top: 80px; /* для десктопа */
}
@media (max-width: 768px){
  .page-template-tantra .rr-tantra__hero {
    padding-top: 60px; /* для мобилы */
  }
}
