/* sections/directions.css — «Услуги — 5 направлений». Владеет таск 05.
   Асимметричная редакционная композиция (не решётка-клон), hover — только transform/opacity. */

/* [data-stack] в селекторе — чтобы фон побеждал фон колоды из stacking.css */
section[data-section="directions"],
section[data-section="directions"][data-stack] {
  background: var(--color-surface-base);
}

/* --- Шапка секции --- */
[data-section="directions"] .dir-head {
  margin-bottom: var(--space-6);
  max-width: 720px;
}

[data-section="directions"] .dir-head__eyebrow {
  color: var(--color-accent-primary);
  font-size: var(--text-xs);
  font-weight: var(--weight-caption);
  line-height: var(--leading-caption);
  letter-spacing: var(--tracking-caps);
  text-transform: uppercase;
  margin-bottom: var(--space-2);
}

[data-section="directions"] .dir-head h2 { margin-bottom: 0; }

/* --- Карточка --- */
.dir-card {
  display: flex;
  flex-direction: column;
  background: var(--color-surface-card);
  border: var(--border-card);
  transition: transform var(--motion-duration) var(--motion-ease);
}

.dir-card:hover { transform: translateY(-2px); }

.dir-card__media {
  margin: 0;
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 9;
}

.dir-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--motion-duration) var(--motion-ease);
}

.dir-card:hover .dir-card__media img { transform: scale(1.04); }

.dir-card__number {
  position: absolute;
  right: var(--space-2);
  bottom: var(--space-1);
  font-family: var(--font-display);
  font-size: var(--text-3xl);
  line-height: 1;
  color: var(--color-text-primary);
  opacity: 0.32;
  pointer-events: none;
}

.dir-card__body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  padding: var(--card-pad);
  gap: var(--space-2);
}

.dir-card__eyebrow {
  /* Англ. ярлык направления — мелкий бейдж-надзаголовок */
  display: inline-block;
  align-self: flex-start;
  color: var(--color-accent-primary);
  font-size: var(--text-xs);
  line-height: var(--leading-caption);
  font-weight: 500;
  letter-spacing: var(--tracking-caps);
  text-transform: uppercase;
  border: var(--border-card);
  padding: 4px var(--space-1);
  margin: 0;
}

.dir-card__desc {
  margin: 0;
  color: var(--color-text-secondary);
  font-size: var(--text-base);
  line-height: var(--leading-body);
}

.dir-card__title {
  margin: 0;
  font-size: var(--text-xl);
  position: relative;
  align-self: flex-start;
}

/* Золотая линия — раскрывается на hover (только transform) */
.dir-card__title::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1px;
  background: var(--color-accent-primary);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform var(--motion-duration) var(--motion-ease);
}

.dir-card:hover .dir-card__title::after,
.dir-card:focus-within .dir-card__title::after { transform: scaleX(1); }

/* Надпись-рубрика над списком услуг — уровень Caption/UI, не основной текст */
.dir-card__heading {
  color: var(--color-text-secondary);
  font-size: var(--text-xs);
  font-weight: var(--weight-caption);
  line-height: var(--leading-caption);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  margin: 0;
}

.dir-card__tags {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-1);
  margin: 0;
  padding: 0;
}

.dir-card__tags li {
  font-size: var(--text-xs);
  font-weight: var(--weight-caption);
  line-height: var(--leading-caption);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  color: var(--color-text-secondary);
  border: 1px solid color-mix(in srgb, var(--color-text-secondary) 35%, transparent);
  padding: 4px var(--space-1);
}

/* --- Услуги направления: название + цена/примечания --- */
.dir-card__services {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid color-mix(in srgb, var(--color-accent-primary) 18%, transparent);
}

.dir-card__service {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: var(--space-1) 0;
  border-bottom: 1px solid color-mix(in srgb, var(--color-text-secondary) 16%, transparent);
}

.dir-card__svc-name {
  font-size: var(--text-base);
  font-weight: 600;
  line-height: var(--leading-body);
}

.dir-card__svc-meta {
  font-size: var(--text-xs);
  font-weight: var(--weight-caption);
  line-height: var(--leading-caption);
  color: var(--color-text-secondary);
}

.dir-card__svc-meta s {
  opacity: 0.65;
  margin-right: 4px;
}

.dir-card__cta {
  margin-top: auto;
  align-self: flex-start;
}

/* --- Композиция: мобильный — колонка --- */
.dir-grid {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

/* --- Планшет: две колонки --- */
@media (min-width: 700px) and (max-width: 1023px) {
  .dir-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-3);
  }
  .dir-card--5 { grid-column: 1 / -1; }
}

/* --- Десктоп: асимметричная композиция 12 колонок --- */
@media (min-width: 1024px) {
  .dir-grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: var(--space-3);
  }

  /* 01 — высокая доминанта слева */
  .dir-card--1 { grid-column: 1 / 7; grid-row: 1 / 3; }
  .dir-card--1 .dir-card__media { aspect-ratio: 3 / 4; }

  /* 02, 03 — стопка справа со сдвигом вниз */
  .dir-card--2 { grid-column: 7 / 13; grid-row: 1 / 2; margin-top: var(--space-8); }
  .dir-card--3 { grid-column: 7 / 13; grid-row: 2 / 3; }
  .dir-card--2 .dir-card__media,
  .dir-card--3 .dir-card__media { aspect-ratio: 16 / 9; }

  /* 04 — компактная слева со сдвигом */
  .dir-card--4 { grid-column: 1 / 6; grid-row: 3 / 4; margin-top: var(--space-6); }

  /* 05 — широкая горизонтальная внизу */
  .dir-card--5 { grid-column: 6 / 13; grid-row: 3 / 4; flex-direction: row; }
  .dir-card--5 .dir-card__media { flex: 0 0 42%; aspect-ratio: 3 / 4; }
  .dir-card--5 .dir-card__body { flex: 1 1 auto; }
}

/* --- Появление при прокрутке (готовит JS; без JS всё видно сразу) --- */
[data-section="directions"].is-armed .dir-card {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity var(--motion-duration) var(--motion-ease), transform var(--motion-duration) var(--motion-ease);
}

[data-section="directions"].is-armed .dir-card.is-visible {
  opacity: 1;
  transform: none;
}

[data-section="directions"].is-armed .dir-card:nth-child(2).is-visible { transition-delay: 0.08s; }
[data-section="directions"].is-armed .dir-card:nth-child(3).is-visible { transition-delay: 0.16s; }
[data-section="directions"].is-armed .dir-card:nth-child(4).is-visible { transition-delay: 0.24s; }
[data-section="directions"].is-armed .dir-card:nth-child(5).is-visible { transition-delay: 0.32s; }

/* Сдвиг карточки при видимости не должен ломать hover-подъём */
[data-section="directions"].is-armed .dir-card.is-visible:hover { transform: translateY(-2px); }
