/* === Partners v57.59.54 (consolidated v57.59.86; source order preserved) === */
/* v57.59.54 — Home Partnerët tanë: 2 rows × 4 visible cards, horizontal swipe. */
.njf-app-home .njf-home-partners{
  padding:28px 0 30px;
  background:#f7fbfb;
  border-top:1px solid #e3eeee;
  overflow:hidden;
}
.njf-app-home .njf-partners-head{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 16px;
}
.njf-app-home .njf-partners-head>span{
  font-size:24px;
  line-height:1;
}
.njf-app-home .njf-partners-head h2{
  margin:0;
  color:#102f38;
  font-size:24px;
  line-height:1.15;
  font-weight:850;
}
.njf-app-home .njf-partners-rail{
  display:grid;
  grid-auto-flow:column;
  grid-template-rows:repeat(2,minmax(0,1fr));
  grid-auto-columns:calc((100% - 18px)/4);
  gap:6px;
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  padding:2px 1px 5px;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-inline:contain;
}
.njf-app-home .njf-partners-rail::-webkit-scrollbar{display:none}
.njf-app-home .njf-partner-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  min-width:0;
  height:88px;
  padding:7px 5px;
  border:1px solid #cfe1e4;
  border-radius:15px;
  background:#fff;
  color:#123f48!important;
  text-decoration:none!important;
  box-shadow:0 5px 14px rgba(5,64,73,.055);
  scroll-snap-align:start;
  overflow:hidden;
}
.njf-app-home .njf-partner-card.is-empty{
  border-style:dashed;
  background:rgba(255,255,255,.62);
  box-shadow:none;
}
.njf-app-home .njf-partner-card img{
  display:block;
  width:100%;
  max-width:68px;
  height:50px;
  object-fit:contain;
  object-position:center;
}
.njf-app-home .njf-partner-card strong{
  display:block;
  width:100%;
  overflow:hidden;
  color:#123f48;
  font-size:11px;
  line-height:1.15;
  font-weight:800;
  text-align:center;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.njf-app-home .njf-partner-card:not(.is-empty):active{transform:scale(.98)}
@media(min-width:768px){
  .njf-app-home .njf-home-partners{padding:32px 0 34px}
  .njf-app-home .njf-partner-card{height:106px;padding:10px 8px}
  .njf-app-home .njf-partner-card img{max-width:92px;height:64px}
  .njf-app-home .njf-partner-card strong{font-size:13px}
}

/* === Stories v57.59.59 (consolidated v57.59.86; source order preserved) === */
/* v57.59.59 — deferred Story rail; viewer exists only after first tap. */
.njf-app-home .njf-home-stories{padding:14px 0 16px;background:#fff;border:0;min-height:86px;contain:layout style}
.njf-app-home .njf-home-stories.is-pending .njf-story-rail{visibility:hidden}
.njf-app-home .njf-story-rail{display:flex;gap:10px;width:100%;overflow-x:auto;overflow-y:hidden;padding:2px 2px 5px;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
.njf-app-home .njf-story-rail::-webkit-scrollbar{display:none}
.njf-app-home .njf-story-item{appearance:none;display:grid;place-items:center;flex:0 0 calc((100vw - 68px)/5);max-width:82px;min-width:62px;margin:0;padding:0;border:0;background:transparent;cursor:pointer;scroll-snap-align:start}
.njf-app-home .njf-story-ring{display:grid;place-items:center;width:64px;height:64px;padding:3px;border-radius:50%;background:linear-gradient(135deg,#ff9d24,#ef5b2a 46%,#0e9d96);box-shadow:0 3px 10px rgba(18,74,89,.10)}
.njf-app-home .njf-story-ring>span{display:block;width:100%;height:100%;padding:2px;border-radius:50%;background:#fff}
.njf-app-home .njf-story-ring img{display:block;width:100%;height:100%;aspect-ratio:1/1;object-fit:cover;border-radius:50%}

.njf-story-viewer[hidden]{display:none!important}
.njf-story-viewer{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;background:#071b20;overscroll-behavior:contain}
.njf-story-viewer__shell{position:relative;width:min(100vw,520px);height:100dvh;max-height:940px;overflow:hidden;background:#071b20;color:#fff;contain:layout paint style}
.njf-story-viewer__media{position:absolute;inset:0}
.njf-story-viewer__media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12) 0,rgba(0,0,0,.01) 54%,rgba(0,0,0,.78) 100%);pointer-events:none}
.njf-story-viewer__image{display:block;width:100%;height:100%;object-fit:cover}
.njf-story-viewer__close{position:absolute;z-index:12;top:max(12px,env(safe-area-inset-top));right:12px;display:grid;place-items:center;width:42px;height:42px;margin:0;padding:0;border:0;border-radius:50%;background:rgba(0,0,0,.44);color:#fff;font-size:30px;line-height:1;cursor:pointer}
.njf-story-viewer__nav{position:absolute;z-index:10;top:50%;display:grid;place-items:center;width:50px;height:64px;margin-top:-32px;padding:0;border:0;border-radius:14px;background:rgba(0,0,0,.30);color:#fff;cursor:pointer}
.njf-story-viewer__nav span{display:block;font-size:52px;font-weight:300;line-height:.8;transform:translateY(-2px)}
.njf-story-viewer__nav--prev{left:10px}.njf-story-viewer__nav--next{right:10px}.njf-story-viewer__nav:disabled{opacity:.20;pointer-events:none}
.njf-story-viewer__meta{position:absolute!important;z-index:9!important;left:20px!important;right:20px!important;top:auto!important;bottom:calc(84px + max(18px,env(safe-area-inset-bottom)))!important;margin:0!important;padding:0!important;pointer-events:none}
.njf-story-viewer__meta h3{margin:0!important;color:#fff!important;font-size:clamp(25px,7vw,31px)!important;line-height:1.12!important;font-weight:850!important;text-shadow:0 2px 14px rgba(0,0,0,.65)!important}
.njf-story-viewer__footer{position:absolute!important;z-index:13!important;left:18px!important;right:18px!important;top:auto!important;bottom:max(14px,env(safe-area-inset-bottom))!important;margin:0!important;padding:0!important}
.njf-story-viewer__cta{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:54px!important;margin:0!important;padding:10px 16px!important;border:0!important;border-radius:15px!important;background:#fff!important;color:#10414a!important;font-size:15px!important;font-weight:900!important;line-height:1.15!important;text-decoration:none!important;box-shadow:0 8px 22px rgba(0,0,0,.18)!important}
body.njf-story-open{overflow:hidden!important;touch-action:none}

@media(min-width:700px){
  .njf-app-home .njf-story-item{flex-basis:76px}
  .njf-app-home .njf-story-ring{width:68px;height:68px}
  .njf-app-home .njf-home-stories{min-height:90px}
}

/* === Performance v57.59.60 (consolidated v57.59.86; source order preserved) === */
/* v57.59.60 — Home critical-path / mobile paint optimisations. */
.njf-mobile-hero {
  --njf-hero-image: url('../img/hero-v10-collage-1280.webp') !important;
}

@media (max-width: 780px) {
  .njf-mobile-hero {
    --njf-hero-image: url('../img/hero-v10-collage-960.webp') !important;
  }

  /* Blur is one of the most expensive repeated paint effects on Android. */
  .njf-app-home .njf-mobile-header,
  .njf-app-home .njf-featured-cats .njf-cat,
  .njf-app-home .njf-hero-stats,
  .njf-app-home .njf-hero-stats span,
  .njf-app-home .njf-popular-searches a,
  .njf-app-home .njf-bottom-nav,
  .njf-app-home .njf-heart,
  .njf-app-home .njf-row-body > strong,
  .njf-app-home .njf-premium-promo,
  .njf-app-home .nfc-card-badge {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
}

/* Let Chromium skip layout/paint work for sections that are still far below the viewport. */
@supports (content-visibility: auto) {
  .njf-app-home .njf-visual-searches,
  .njf-app-home .njf-premium-section,
  .njf-app-home .njf-latest-section,
  .njf-app-home .njf-why-section,
  .njf-app-home .njf-home-partners {
    content-visibility: auto;
    contain-intrinsic-size: 800px;
  }

  body.nfc-modern-footer-active .nfc-modern-footer {
    content-visibility: auto;
    contain-intrinsic-size: 900px;
  }
}

@media (max-width: 780px) {
  @supports (content-visibility: auto) {
    /* Horizontal rails contain many cards that start outside the phone viewport. */
    .njf-app-home .njf-visual-card,
    .njf-app-home .njf-premium-card,
    .njf-app-home .njf-row-card {
      content-visibility: auto;
      contain-intrinsic-size: 260px;
    }
  }
}

