.alyans-training {
  box-sizing: border-box;
  width: calc(100% - 32px);
  max-width: 800px;
  margin: 32px auto;
  padding: 24px;
  border-radius: 20px;
  background: #fff;
  color: #1c2921;
  scroll-margin-top: 112px;
}
.alyans-training *, .alyans-training *::before, .alyans-training *::after { box-sizing: border-box; }
.alyans-training .alyans-training__heading h2 { margin: 0 0 8px; font-size: 28px; line-height: 1.2; }
.alyans-training .alyans-training__heading p { margin: 0; color: #657269; font-size: 16px; line-height: 1.5; }
.alyans-training .alyans-training__topics { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0 16px; }
.alyans-training [hidden] { display: none !important; }
.alyans-training .alyans-training__topics button {
  appearance: none; max-width: 100%; min-height: 44px; min-width: 44px;
  margin: 0; padding: 10px 14px; border: 1px solid #dfe5e1; border-radius: 14px;
  background: #f4f6f4; color: #263b2e; font: inherit; font-size: 14px;
  font-weight: 500; line-height: 1.4; text-align: left; white-space: normal;
  overflow-wrap: anywhere; cursor: pointer; box-shadow: none;
}
.alyans-training .alyans-training__topics button[aria-pressed="true"] { background: #327e49; border-color: #327e49; color: #fff; }
.alyans-training .alyans-training__topics button:focus-visible { outline: 2px solid #1e532f; outline-offset: 3px; }
.alyans-training .alyans-training__current { margin: 16px 0 12px; font-size: 18px; line-height: 1.4; overflow-wrap: anywhere; }
.alyans-training .alyans-training__player { position: relative; width: 100%; aspect-ratio: 16 / 9; background: #edf0ed; border-radius: 12px; overflow: hidden; }
.alyans-training .alyans-training__player iframe { position: absolute; inset: 0; display: block; width: 100%; height: 100%; border: 0; }
/* audit 08.10.2026: A7 — poster with a play button in the player box (same 16:9 box, no layout shift); training.js puts the
   Rutube iframe here after the press. */
.alyans-training .alyans-training__poster { position: absolute; inset: 0; display: block; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; border-radius: 0; background: #edf0ed; cursor: pointer; box-shadow: none; }
.alyans-training .alyans-training__poster img { display: block; width: 100%; height: 100%; object-fit: cover; }
.alyans-training .alyans-training__play { position: absolute; left: 50%; top: 50%; width: 68px; height: 68px; margin: -34px 0 0 -34px; border-radius: 50%; background: rgba(23, 61, 41, .88); box-shadow: 0 6px 18px rgba(0, 0, 0, .25); transition: background .15s ease, transform .15s ease; }
.alyans-training .alyans-training__play::before { content: ""; position: absolute; left: 27px; top: 21px; border-style: solid; border-width: 13px 0 13px 21px; border-color: transparent transparent transparent #fff; }
.alyans-training .alyans-training__poster:hover .alyans-training__play,
.alyans-training .alyans-training__poster:focus-visible .alyans-training__play { background: #327e49; transform: scale(1.06); }
.alyans-training .alyans-training__poster:focus-visible { outline: 3px solid #1e532f; outline-offset: -3px; }
.alyans-training .alyans-training__note { margin: 12px 0 0; color: #657269; font-size: 13px; line-height: 1.5; }
@media (max-width: 600px) {
  .alyans-training { padding: 16px; margin: 24px auto; scroll-margin-top: 120px; } /* 18.10.2026: under the ~111 px sticky header */
  .alyans-training .alyans-training__heading h2 { font-size: 24px; }
  .alyans-training .alyans-training__heading p { font-size: 14px; }
  .alyans-training .alyans-training__topics { margin-top: 16px; }
}
