/* ===== TEUDOT — certificates slider (Splide, 4-up loop) ===== */
.teudot { background: transparent; }
.teudot__title { color: #000; }

/* the slide IS the certificate card.
   Aspect follows the SOURCE files (~640x900) and the image is `contain`, so a
   certificate is never cropped — a document must always be readable end-to-end. */
.tcert {
  position: relative; width: 100%; aspect-ratio: 640 / 900;
  background: #fff; border-radius: 8px; overflow: hidden;
  box-shadow: 0 6px 22px rgba(7,28,55,.12);
}
.tcert__img { width: 100%; height: 100%; object-fit: contain; display: block; }
/* zoom badge is sized in % of the card (Figma: 48/303 wide, 14px insets) so it keeps
   its proportion when the slider narrows — a fixed 48px swallowed the card at 1440. */
.tcert__zoom {
  position: absolute; left: 4.6%; bottom: 3.4%;
  width: 15.8%; height: auto; aspect-ratio: 1;
  background: #fff; border-radius: 8px; box-shadow: 0 0 4px rgba(0,0,0,.25);
  display: flex; align-items: center; justify-content: center;
}
.tcert__zoom img { width: 62%; height: auto; }

/* Anti-FOUC: before Splide mounts and sets each slide's inline width, the cards
   are near-full-width, so `aspect-ratio:640/900` computes a ~1373px height and the
   track balloons — a giant empty gap above the certs. Lay the cards in a clipped
   row at their settled per-page widths so the height stays sane from first paint
   (also keeps them visible if Splide's JS ever fails to load). */
.teudot .splide:not(.is-initialized) .splide__track { overflow: hidden; }
.teudot .splide:not(.is-initialized) .splide__list { display: flex; flex-wrap: nowrap; }
.teudot .splide:not(.is-initialized) .splide__slide { flex: 0 0 calc(25% - 22.5px); }
@media (max-width: 1200px) { .teudot .splide:not(.is-initialized) .splide__slide { flex-basis: calc(33.333% - 20px); } }
@media (max-width: 768px)  { .teudot .splide:not(.is-initialized) .splide__slide { flex-basis: calc(50% - 15px); } }
@media (max-width: 520px)  { .teudot .splide:not(.is-initialized) .splide__slide { flex-basis: 100%; } }
