/* ===== Главная: блок «Партнёры» — стена логотипов, карточки переворачиваются и ведут на /partners ===== */
.partners-logos { padding-top: 56px; }
.partners-logos__lead { margin: 8px 0 0; max-width: 640px; color: #6f6a63; font-size: 15px; }
.partners-logos__nav { position: relative; margin-top: 26px; }
.partners-logos__grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
@media (min-width: 1024px) {
  .partners-logos__lead { max-width: none; white-space: nowrap; font-size: 14px; }
}

/* карточка: при наведении (или фокусе с клавиатуры, или тапе на телефоне) поворачивается на 180° */
.plogo { position: relative; height: 260px; perspective: 1000px; outline: none; }
.plogo__inner { position: relative; height: 100%; transform-style: preserve-3d; transition: transform .7s cubic-bezier(.2, .7, .2, 1); }
.plogo.is-flipped .plogo__inner { transform: rotateY(180deg); }
@media (hover: hover) and (pointer: fine) { .plogo:hover .plogo__inner, .plogo:focus-within .plogo__inner { transform: rotateY(180deg); } }
.plogo__face { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; border-radius: 8px; text-align: center;
  -webkit-backface-visibility: hidden; backface-visibility: hidden; }

/* лицо: логотип, название, страны */
.plogo__front { justify-content: center; padding: 18px 12px; border: 1px solid #ebe6dc; background: #fff; color: #26245b; }
.plogo__img { display: grid; place-items: center; width: 100%; height: 76px; margin-bottom: 14px; }
.plogo__img img { grid-area: 1 / 1; max-width: 82%; height: var(--h, 40px); width: auto; object-fit: contain; }
.plogo__img .mono { opacity: .74; }
.plogo__img .color { opacity: 0; }
.plogo__word { font: 700 15px/1.15 Montserrat, Arial, sans-serif; letter-spacing: 0; color: #2e2b52; opacity: .8; }
.plogo__word small { display: block; margin-top: 6px; font: 600 10px Inter, Arial, sans-serif; letter-spacing: 0; color: #8a857d; }
.plogo__name { font-size: 13px; font-weight: 700; color: #252166; }
.plogo__country { margin-top: 2px; font-size: 12px; color: #8a857d; line-height: 1.3; }

/* оборот: короткий рассказ и кнопка «Подробнее» */
.plogo__back { justify-content: space-between; padding: 18px 16px 16px; background: #252166; color: #fff; transform: rotateY(180deg);
  box-shadow: 0 16px 34px rgba(37, 33, 102, .22); }
.plogo__back-name { font: 600 16px/1.2 Montserrat, Arial, sans-serif; }
.plogo__about { margin: 8px 0 12px; font-size: 12.5px; line-height: 1.45; color: rgba(255, 255, 255, .86); }
.plogo__more { display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%; height: 38px; border-radius: 8px;
  background: #fff; color: #252166; font: 700 13px Inter, Arial, sans-serif; text-decoration: none; transition: background-color .3s, color .3s; }
.plogo__more svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform .3s; }
.plogo__more:hover { background: #81a94f; color: #fff; }
.plogo__more:hover svg { transform: translateX(3px); }
.plogo__more:focus-visible { outline: 2px solid #81a94f; outline-offset: 2px; }

.partners-logos__cta { display: flex; justify-content: center; margin-top: 28px; }
.partners-logos__cta .btn { gap: 10px; width: auto; padding: 0 28px; }
.partners-logos__cta svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform .3s; }
.partners-logos__cta .btn:hover svg { transform: translateX(3px); }

/* появление плиток по очереди при прокрутке */
.js-plogos .partners-logos__grid > li { opacity: 0; transform: translateY(18px); transition: opacity .55s ease, transform .55s cubic-bezier(.2, .7, .2, 1); transition-delay: var(--d, 0s); }
.js-plogos .partners-logos.is-in .partners-logos__grid > li { opacity: 1; transform: none; }

@media (max-width: 1100px) { .partners-logos__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } .plogo { height: 280px; } }
@media (max-width: 980px) {
  .partners-logos { padding-top: 40px; }
  .partners-logos__nav { padding-inline: 30px; }
  .partners-logos__arrow { display: grid; top: 126px; transform: translateY(-50%); }
  .partners-logos__arrow.origin-arrow-prev { left: 0; }
  .partners-logos__arrow.origin-arrow-next { right: 0; }
  .partners-logos__arrow.origin-arrow-prev::before { border: 6px solid transparent; border-left: 0; border-right-color: #9b958b; }
  .partners-logos__arrow.origin-arrow-next::before { border: 6px solid transparent; border-right: 0; border-left-color: #9b958b; }
  .partners-logos__grid {
    display: flex;
    flex-wrap: nowrap;
    grid-template-columns: none;
    gap: 10px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 8px 3px 16px;
    scrollbar-width: none;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
  }
  .partners-logos__grid::-webkit-scrollbar { display: none; }
  .partners-logos__grid > li { flex: 0 0 clamp(168px, 44vw, 220px); min-width: 0; scroll-snap-align: start; }
  .plogo { width: 100%; height: 236px; }
  .plogo__img { height: 62px; margin-bottom: 10px; }
  .plogo__img img { height: calc(var(--h, 40px) * .85); }
  .plogo__back { padding: 14px 12px 12px; }
  .plogo__about { font-size: 12px; }
  .partners-logos__cta .btn { width: 100%; }
}
/* на сенсорных экранах наведения нет: логотипы сразу цветные, переворот — по тапу */
@media (hover: none) { .plogo__img .mono.has-color { opacity: 0; } .plogo__img .color { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .js-plogos .partners-logos__grid > li { opacity: 1; transform: none; transition: none; }
  .plogo__inner { transition: none; }
}

.partners-logos__cta .btn { min-height: 44px; text-transform: none; }
.partners-logos .plogo__more { flex-shrink: 0; height: auto; min-height: 38px; text-transform: none; font-size: 13px; }
.partners-logos .plogo__more:focus-visible, .partners-logos .plogo:focus-visible { outline: 2px solid #81a94f; outline-offset: 3px; }
