/* «תוכניות הלימוד» — Figma y 3363–4314 (h 951). Текстура @0.08.
   3 карточки программ (RTL: מלאה справа, חצי-שבועית центр, ערב слева). */

.programs {
  position: relative;
  height: calc(951 * var(--u));
  background: var(--color-white);
  overflow: hidden;
}

.programs__texture {
  position: absolute;
  inset: 0;
  background: url('../../img/texture.jpg') center / cover no-repeat;
  opacity: 0.08;
  pointer-events: none;
}

/* Заголовок — 85/200, letterSpacing 3.4 (Figma 3016:7678) */
.programs__title {
  position: absolute;
  top: calc(79 * var(--u));
  left: 0;
  width: 100%;
  line-height: 1;
  letter-spacing: calc(3.4 * var(--u));
}

.programs__sub {
  position: absolute;
  top: calc(189 * var(--u));
  left: 0;
  width: 100%;
  font-size: calc(30 * var(--u));
  font-weight: var(--fw-bold);
  line-height: calc(40.8 * var(--u));
  text-align: center;
}

/* ---------- Карточка ---------- */
.program {
  position: absolute;
}

.program__icon {
  position: absolute;
  top: 0;
}

.program__icon img {
  width: 100%;
  height: 100%;
}

.program__plate {
  position: absolute;
}

.program__body {
  position: absolute;
  font-size: calc(24 * var(--u));
  font-weight: var(--fw-regular);
  line-height: calc(32.6 * var(--u));
  text-align: center;
}

.program__lead {
  font-weight: var(--fw-bold);
}

.program__list li {
  line-height: calc(50 * var(--u));
}

.program__list li.program__item--small {
  font-size: calc(20 * var(--u));
}

/* תוכנית מלאה (правая) — icon (1073,239) 154×166, plate (953,414), body (945,481) 368 */
.program--full { left: calc(945 * var(--u)); top: calc(239 * var(--u)); width: calc(368 * var(--u)); }
.program--full .program__icon { left: calc(128 * var(--u)); width: calc(154 * var(--u)); height: calc(166 * var(--u)); }
.program--full .program__plate { left: calc(8 * var(--u)); top: calc(175 * var(--u)); }
.program--full .program__body { left: 0; top: calc(242 * var(--u)); width: calc(368 * var(--u)); }

/* תוכנית חצי-שבועית (центр) — icon (643,238) 154×166, plate (543,414), body (543,481) 350 */
.program--half { left: calc(543 * var(--u)); top: calc(238 * var(--u)); width: calc(354 * var(--u)); }
.program--half .program__icon { left: calc(100 * var(--u)); width: calc(154 * var(--u)); height: calc(166 * var(--u)); }
.program--half .program__plate { left: 0; top: calc(176 * var(--u)); }
.program--half .program__body { left: 0; top: calc(243 * var(--u)); width: calc(350 * var(--u)); }

/* לימודי ערב (левая) — icon (228,258) 154×146, plate (132,414), body (117,481) 384 */
.program--evening { left: calc(117 * var(--u)); top: calc(258 * var(--u)); width: calc(384 * var(--u)); }
.program--evening .program__icon { left: calc(111 * var(--u)); width: calc(154 * var(--u)); height: calc(146 * var(--u)); }
.program--evening .program__plate { left: calc(15 * var(--u)); top: calc(156 * var(--u)); }
.program--evening .program__body { left: 0; top: calc(223 * var(--u)); width: calc(384 * var(--u)); }

/* Жирная строка про консультацию — (368,800) */
.programs__cta {
  position: absolute;
  top: calc(800 * var(--u));
  left: 0;
  width: 100%;
  font-size: calc(30 * var(--u));
  font-weight: var(--fw-bold);
  line-height: calc(40.8 * var(--u));
  text-align: center;
}

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
  .programs {
    height: auto;
    padding: calc(52 * var(--u)) calc(24 * var(--u)) calc(56 * var(--u));
  }

  .programs__title,
  .programs__sub,
  .programs__cta {
    position: relative;
    top: auto;
  }

  .programs__title {
    line-height: 1.25;
    letter-spacing: calc(1.5 * var(--u));
  }

  .programs__sub {
    margin-top: calc(16 * var(--u));
    font-size: calc(19 * var(--u));
    line-height: 1.5;
  }

  .programs__cards {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(44 * var(--u));
    margin-top: calc(40 * var(--u));
  }

  .program {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    max-width: calc(340 * var(--u));
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  /* position: static — чтобы десктопные left/top из селекторов вида
     .program--full .program__icon (специфичность 0,2,0) не смещали элементы */
  .program .program__icon,
  .program .program__plate,
  .program .program__body {
    position: static;
  }

  .program--full .program__icon,
  .program--half .program__icon {
    width: calc(120 * var(--u));
    height: calc(129 * var(--u));
  }

  .program--evening .program__icon {
    width: calc(120 * var(--u));
    height: calc(114 * var(--u));
  }

  .program__plate {
    margin-top: calc(14 * var(--u));
  }

  .program .program__body {
    width: 100%;
    margin-top: calc(12 * var(--u));
    font-size: calc(17 * var(--u));
    line-height: 1.45;
  }

  .program__list li {
    line-height: 2;
  }

  .program__list li.program__item--small {
    font-size: calc(15 * var(--u));
  }

  .programs__cta {
    margin-top: calc(44 * var(--u));
    font-size: calc(19 * var(--u));
    line-height: 1.5;
  }
}
