/* ============================================================
   DYSHI — фирменные стили поверх Blocksy
   Токены перенесены из Lovable (styles.css, Tailwind v4 @theme)
   ============================================================ */

:root {
  --dyshi-stone-bg: #EFEDE7;
  --dyshi-stone-soft: #E6E3DB;
  --dyshi-olive: #3A432F;
  --dyshi-olive-deep: #2F3828;
  --dyshi-graphite: #1E1E1E;
  --dyshi-graphite-soft: #4A4A48;
  --dyshi-muted: #6B6B68;
  --dyshi-border: rgba(30, 30, 30, 0.08);
  --dyshi-hairline: rgba(30, 30, 30, 0.12);
  --dyshi-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
}

html { scroll-behavior: smooth; }

body {
  -webkit-font-smoothing: antialiased;
  letter-spacing: 0.005em;
}

::selection {
  background: var(--dyshi-olive);
  color: var(--dyshi-stone-bg);
}

/* ---------- Типографика ---------- */

/* Eyebrow-лейбл секции: «— Состояния» */
.dyshi-label {
  font-family: "Inter", system-ui, sans-serif;
  font-size: 11px;
  font-weight: 300;
  text-transform: uppercase;
  letter-spacing: 0.4em;
  color: rgba(47, 56, 40, 0.7); /* olive-deep/70 */
}
.dyshi-label--light { color: rgba(239, 237, 231, 0.6); } /* на тёмном фоне */

/* Курсивный акцент в заголовках */
.dyshi-em { font-style: italic; }

/* Мелкий индекс карточки: 01, 02 … */
.dyshi-index {
  font-size: 10px;
  font-weight: 300;
  letter-spacing: 0.3em;
  color: rgba(30, 30, 30, 0.4);
}

/* Гигантский номер блока (страница практик) */
.dyshi-num {
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(64px, 8vw, 110px);
  line-height: 1;
  color: rgba(30, 30, 30, 0.2);
}

/* ---------- Кнопки ---------- */

/* Инвертированная кнопка (светлая на тёмном фоне) */
.dyshi-btn-light .wp-block-button__link,
.wp-block-button.dyshi-btn-light .wp-element-button {
  background: var(--dyshi-stone-bg) !important;
  color: var(--dyshi-graphite) !important;
  transition: background-color 0.3s ease;
}
.dyshi-btn-light .wp-block-button__link:hover,
.wp-block-button.dyshi-btn-light .wp-element-button:hover {
  background: var(--dyshi-stone-soft) !important;
}

/* Текстовая ссылка-стрелка: «Попробуй практику →» */
.dyshi-arrow-link {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 12px;
  font-weight: 300;
  letter-spacing: 0.2em;
  color: rgba(30, 30, 30, 0.7);
  text-decoration: none;
  transition: color 0.5s ease, gap 0.5s ease;
}
.dyshi-arrow-link:hover { color: var(--dyshi-olive-deep); gap: 1.25rem; }

/* ---------- Карточки состояний ---------- */

.dyshi-state-card {
  background: rgba(230, 227, 219, 0.5); /* stone-soft/50 */
  padding: 2rem;
  height: 100%;
  transition: background-color 0.5s ease, color 0.5s ease;
}
.dyshi-state-card,
.dyshi-state-card * { text-decoration: none; }
.dyshi-state-card:hover {
  background: var(--dyshi-olive-deep);
}
.dyshi-state-card:hover,
.dyshi-state-card:hover h3,
.dyshi-state-card:hover p,
.dyshi-state-card:hover span {
  color: var(--dyshi-stone-bg) !important;
}

/* ---------- Изображения ---------- */

/* Плавный зум фото при ховере (тизеры разделов) */
.dyshi-zoom { overflow: hidden; background: var(--dyshi-stone-soft); }
.dyshi-zoom img {
  transition: transform 1s var(--dyshi-ease);
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
a:hover .dyshi-zoom img,
.dyshi-zoom:hover img { transform: scale(1.03); }

/* ---------- Анимации ---------- */

@keyframes dyshi-breathe {
  0%, 100% { opacity: 0.85; transform: scale(1); }
  50%      { opacity: 1;    transform: scale(1.015); }
}
.dyshi-breathe { animation: dyshi-breathe 9s ease-in-out infinite; }

@keyframes dyshi-fade-up {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}
.dyshi-fade-up         { animation: dyshi-fade-up 1.6s var(--dyshi-ease) both; }
.dyshi-fade-up-delay-1 { animation: dyshi-fade-up 1.6s var(--dyshi-ease) 0.3s both; }
.dyshi-fade-up-delay-2 { animation: dyshi-fade-up 1.6s var(--dyshi-ease) 0.6s both; }
.dyshi-fade-up-delay-3 { animation: dyshi-fade-up 1.6s var(--dyshi-ease) 0.9s both; }

@keyframes dyshi-slow-fade { from { opacity: 0; } to { opacity: 1; } }
.dyshi-slow-fade { animation: dyshi-slow-fade 2.4s ease-out both; }

@media (prefers-reduced-motion: reduce) {
  .dyshi-breathe,
  .dyshi-fade-up, .dyshi-fade-up-delay-1, .dyshi-fade-up-delay-2,
  .dyshi-fade-up-delay-3, .dyshi-slow-fade {
    animation: none;
  }
  .dyshi-zoom img { transition: none; }
}

/* ---------- Hero ---------- */

/* Cover-блок героя: полный экран, контент прижат к низу */
.dyshi-hero.wp-block-cover {
  min-height: 100svh;
  display: flex;
  align-items: flex-end;
  border-radius: 0;
}
.dyshi-hero .wp-block-cover__inner-container {
  max-width: 1480px;
  width: 100%;
  margin-inline: auto;
  padding: 8rem 1.5rem 5rem;
}
@media (min-width: 768px) {
  .dyshi-hero .wp-block-cover__inner-container { padding: 9rem 3rem 7rem; }
}

/* ---------- Разделители и прочее ---------- */

.dyshi-hairline { border-top: 1px solid var(--dyshi-hairline); }

/* Убираем скругления у медиа и кнопок глобально (дизайн — острые углы) */
.wp-block-image img,
.wp-block-cover,
.wp-element-button,
.wp-block-button__link {
  border-radius: 0 !important;
}

/* Списки с тире вместо маркеров: «— пункт» */
ul.dyshi-dash-list { list-style: none; padding-left: 0; margin-left: 0; }
ul.dyshi-dash-list li { padding-left: 1.25em; position: relative; }
ul.dyshi-dash-list li::before { content: "—"; position: absolute; left: 0; }
