.psm-heading { margin: 0 0 24px; color: #0c3a58; font-size: clamp(24px, 3vw, 32px); line-height: 1.2; }
.psm-slider, .psm-grid-wrap { width: 100%; }
.psm-slider { overflow: visible; }
.psm-slider__frame { position: relative; }
.psm-slider__track { display: flex; gap: 16px; overflow-x: auto; scroll-behavior: smooth; scroll-snap-type: x mandatory; padding: 2px; scrollbar-width: none; }
.psm-slider__track::-webkit-scrollbar { display: none; }
.psm-card { box-sizing: border-box !important; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 12px; min-width: 180px; max-width: 100%; min-height: 116px; padding: 18px; border: 1px solid #d9eaf0 !important; border-radius: 14px; background: #fff; box-shadow: 0 5px 14px rgba(7,55,82,.06); color: #0c3a58; text-decoration: none !important; scroll-snap-align: start; transform: none !important; transition: border-color .2s ease, box-shadow .2s ease; }
.psm-slider a.psm-card:hover, .psm-slider a.psm-card:focus, .psm-slider a.psm-card:active, .psm-grid a.psm-card:hover, .psm-grid a.psm-card:focus, .psm-grid a.psm-card:active { border: 1px solid #d9eaf0 !important; box-shadow: 0 7px 18px rgba(7,55,82,.09); outline: 0; transform: none !important; }
.psm-card__logo { display: flex; align-items: center; justify-content: center; width: 100%; max-width: 100%; height: 70px; overflow: hidden; }
.psm-card__logo img { display: block; width: 100%; max-width: 150px !important; height: 70px; object-fit: contain; }
.psm-card__fallback { font-weight: 700; text-align: center; }
.psm-card__name { color: #0c3a58; font-size: 15px; font-weight: 700; line-height: 1.25; text-align: center; }
.psm-slider__button { position: absolute; top: 50%; z-index: 2; display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; padding: 0; border: 1px solid #cbe4eb; border-radius: 50%; background: #fff; color: #1f7bb3; cursor: pointer; font-size: 0; line-height: 1; transform: translateY(-50%); box-shadow: 0 2px 6px rgba(7,55,82,.04); transition: background .2s ease, border-color .2s ease, transform .2s ease; }
.psm-slider__button::before { display: block; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; content: ''; }
.psm-slider__button--prev { left: -50px; }
.psm-slider__button--prev::before { transform: rotate(135deg); margin-left: 4px; }
.psm-slider__button--next { right: -50px; }
.psm-slider__button--next::before { transform: rotate(-45deg); margin-right: 4px; }
.psm-slider__button:hover { border-color: #9ed6e4; background: #f6fcfd; transform: translateY(-50%) scale(1.05); }
.psm-grid { box-sizing: border-box; display: grid; width: 100%; min-width: 0; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; padding: 2px; }
.psm-grid .psm-card { width: 100%; min-width: 0 !important; min-height: 150px; overflow: hidden; }
.psm-empty { padding: 14px; border: 1px dashed #7ca4b4; color: #0c3a58; }
@media (min-width: 1024px) { .psm-slider .psm-card { flex: 0 0 calc((100% - 96px) / 7); min-width: 0; } }
@media (min-width: 768px) and (max-width: 1023px) { .psm-slider .psm-card { flex: 0 0 calc((100% - 48px) / 4); min-width: 0; } .psm-slider__button--prev { left: -42px; } .psm-slider__button--next { right: -42px; } }
@media (max-width: 767px) { .psm-slider__button { display: none; } .psm-slider__track { gap: 10px; } .psm-slider .psm-card { min-width: 142px; min-height: 94px; padding: 12px; } .psm-card__logo, .psm-card__logo img { height: 54px; } .psm-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } .psm-grid .psm-card { min-height: 122px; padding: 14px 10px; } .psm-card__name { font-size: 14px; } }
