/* Окно «Новинки каталога» (2026-09-29), см. app/views/widgets/_new-products-popup.php */
.newpop { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(29, 74, 92, .55); overflow-y: auto; }
.newpop[hidden] { display: none; }
.newpop__box { position: relative; width: 100%; max-width: 1040px; max-height: calc(100vh - 32px); overflow-y: auto; margin: auto; padding: 28px 28px 26px; background: #fff; border-radius: 16px; box-shadow: 0 20px 60px rgba(0, 0, 0, .25); text-align: center; color: #1d4a5c; animation: newpop-in .25s ease-out; }
@keyframes newpop-in { from { opacity: 0; transform: translateY(16px) scale(.98); } to { opacity: 1; transform: none; } }
.newpop__close { position: absolute; top: 10px; right: 12px; width: 40px; height: 40px; border: 0; border-radius: 50%; background: #f1f7f9; color: #1d4a5c; font-size: 28px; line-height: 40px; cursor: pointer; }
.newpop__close:hover { background: #e3ecef; }
.newpop__title { font-size: 26px; line-height: 1.25; font-weight: 700; padding: 0 40px; }
.newpop__subtitle { margin-top: 6px; font-size: 15px; color: #8a98a3; }
.newpop .newpop__mall { padding-bottom: 0; }
.newpop .newpop__grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; margin: 20px 0 22px; }
.newpop__more { font-family: Georgia, 'Times New Roman', serif; font-style: italic; font-size: 19px; line-height: 1.5; color: #1d4a5c; }
.newpop__more b { font-style: normal; font-family: inherit; color: #2fb489; }
.newpop__more a { color: #0b7a5a; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.newpop__btn { display: inline-block; margin-top: 16px; padding: 0 30px; height: 48px; line-height: 48px; border-radius: 24px; font-size: 16px; font-weight: 700; text-decoration: none; }
body.newpop-open { overflow: hidden; }

/* планшет и телефон: карточки лентой с прокруткой вбок, чтобы кнопка каталога оставалась на экране */
@media (max-width: 991px) {
  .newpop__box { padding: 22px 14px 20px; border-radius: 14px; }
  .newpop__title { font-size: 21px; }
  .newpop__subtitle { font-size: 14px; }
  .newpop .newpop__grid { display: flex; grid-template-columns: none; gap: 10px; margin: 16px -14px 18px; padding: 0 14px 6px; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; }
  .newpop .newpop__grid .mall-card { flex: 0 0 44%; scroll-snap-align: start; text-align: left; }
  .newpop__more { font-size: 17px; }
  .newpop__btn { width: 100%; max-width: 360px; }
}
@media (max-width: 480px) {
  .newpop { padding: 10px; }
  .newpop .newpop__grid .mall-card { flex-basis: 62%; }
}
