/* ============================================================
   NUI Builder — global mobile / responsive overrides
   Loaded after all library CSS so these rules win the cascade.
   ============================================================ */

/* ── 1. General section spacing ────────────────────────────── */
@media (max-width: 640px) {
  .nui-section,
  .ng-section { padding-block: 36px 44px; }

  .ng-head { margin-bottom: 20px; }
  .ng-head h2 { font-size: 1.25rem; }
  .ng-head p  { font-size: .85rem; }
}

/* ── 2. Hero sliders — cap viewport heights & reduce padding ─ */
@media (max-width: 768px) {
  .nui-hero--cinematic,
  .nui-hero--editorial,
  .nui-hero--split,
  .nui-hero--mosaic,
  .nui-hero--minimal-type,
  .nui-hero--gradient-mood {
    height: auto;
    min-height: 420px;
    max-height: 720px;
  }

  /* Full-bleed image heroes need an explicit height on mobile so slides
     don't collapse to 0 and show only the dark overlay. */
  .nui-hero--sports.swiper,
  .nui-hero--breaking-alert.swiper,
  .nui-hero--photojournalism.swiper {
    height: 420px !important;
    min-height: 420px !important;
    max-height: none !important;
  }
  .nui-hero--sports .swiper-wrapper,
  .nui-hero--sports .swiper-slide,
  .nui-hero--breaking-alert .swiper-wrapper,
  .nui-hero--breaking-alert .swiper-slide,
  .nui-hero--photojournalism .swiper-wrapper,
  .nui-hero--photojournalism .swiper-slide {
    height: 100% !important;
  }

  /* Cinematic */
  .nui-hero--cinematic .slide-content {
    left: 5%; right: 5%; bottom: 64px;
    max-width: none;
  }
  .nui-hero--cinematic .slide-title {
    font-size: clamp(1.5rem, 6vw, 2.2rem);
  }
  .nui-hero--cinematic .cin-nav {
    left: 5%; right: 5%; bottom: 20px;
  }
  .nui-hero--cinematic .letterbox-top,
  .nui-hero--cinematic .letterbox-bottom { height: 28px; }

  /* Editorial */
  .nui-hero--editorial .ed-content { padding: 8% 6%; }
  .nui-hero--editorial .ed-issue { font-size: 70px; top: -10px; }
  .nui-hero--editorial .swiper-button-prev,
  .nui-hero--editorial .swiper-button-next {
    left: auto; right: 6%; bottom: 6%;
  }
  .nui-hero--editorial .swiper-button-prev { right: calc(6% + 52px); }

  /* Split */
  .nui-hero--split .sp-panel { padding: 36px 24px; }
  .nui-hero--split .sp-title { font-size: clamp(1.4rem, 5vw, 2rem); }
  .nui-hero--split .sp-image { height: 220px; }

  /* Breaking alert */
  .nui-hero--breaking-alert .bk-frame { inset: 4px; }
  .nui-hero--breaking-alert .bk-badge {
    top: 20px; padding: 6px 16px; font-size: 10px; letter-spacing: 2px;
  }
  .nui-hero--breaking-alert .bk-content {
    left: 5%; right: 5%; bottom: 18%;
  }
  .nui-hero--breaking-alert .bk-number { font-size: 48px; }
  .nui-hero--breaking-alert .bk-title {
    font-size: clamp(1.4rem, 6vw, 2rem);
  }
  .nui-hero--breaking-alert .bk-meta {
    flex-direction: column; gap: 6px;
  }
  .nui-hero--breaking-alert .bk-ticker-strip .bk-scroll { gap: 40px; }

  /* Mosaic */
  .nui-hero--mosaic .mosaic-main-content { padding: 24px; }
  .nui-hero--mosaic .mosaic-cell:nth-child(1) .mosaic-main-content { padding: 24px; }

  /* Minimal type */
  .nui-hero--minimal-type .swiper-slide { padding: 32px 24px; }
  .nui-hero--minimal-type .mt-content { padding-right: 0; }
  .nui-hero--minimal-type .mt-title { font-size: clamp(1.6rem, 6vw, 2.4rem); }

  /* Photojournalism */
  .nui-hero--photojournalism .pj-caption {
    flex-direction: column; gap: 10px;
    padding: 16px 5%;
  }
  .nui-hero--photojournalism .pj-caption-num { font-size: 32px; }
  .nui-hero--photojournalism .pj-credit { writing-mode: horizontal-tb; align-self: auto; }
  .nui-hero--photojournalism .swiper-pagination { bottom: 130px; }

  /* Gradient mood */
  .nui-hero--gradient-mood .swiper-slide { padding: 0 6%; }
  .nui-hero--gradient-mood .gm-circle { display: none; }
  .nui-hero--gradient-mood .gm-image {
    display: block !important;
    width: clamp(200px, 32vw, 320px) !important;
    right: 3% !important;
  }
  .nui-hero--gradient-mood .gm-cat,
  .nui-hero--gradient-mood .gm-title,
  .nui-hero--gradient-mood .gm-meta { position: relative; z-index: 2; }
}

@media (max-width: 640px) {
  .nui-hero--gradient-mood .gm-image,
  .nui-hero--gradient-mood .gm-circle { display: none !important; }
  .nui-hero--gradient-mood .swiper-slide {
    display: flex !important; flex-direction: column !important;
    justify-content: center !important; align-items: center !important;
    text-align: center !important; padding: 0 5% !important;
  }
  .nui-hero--gradient-mood .gm-cat { margin-bottom: 12px !important; }
  .nui-hero--gradient-mood .gm-title {
    font-size: clamp(1.6rem, 7vw, 2.4rem) !important;
    max-width: none !important;
  }
  .nui-hero--gradient-mood .gm-meta { font-size: 13px !important; }
}

@media (max-width: 480px) {
  .nui-hero--cinematic,
  .nui-hero--editorial,
  .nui-hero--split,
  .nui-hero--mosaic,
  .nui-hero--minimal-type,
  .nui-hero--gradient-mood {
    min-height: 360px;
    max-height: none;
  }
  .nui-hero--sports.swiper,
  .nui-hero--breaking-alert.swiper,
  .nui-hero--photojournalism.swiper {
    height: 360px !important;
    min-height: 360px !important;
    max-height: none !important;
  }

  .nui-hero--cinematic .slide-cat { font-size: 12px; letter-spacing: 2px; }
  .nui-hero--cinematic .slide-title { font-size: clamp(1.3rem, 6.5vw, 1.8rem); }

  .nui-hero--editorial .ed-title { font-size: clamp(1.4rem, 6vw, 1.9rem); }
  .nui-hero--editorial .ed-excerpt { font-size: 13px; }
  .nui-hero--editorial .ed-content { padding: 10% 6% 14% !important; }
  .nui-hero--editorial .ed-issue { font-size: 50px !important; }
  .nui-hero--editorial .swiper-button-prev,
  .nui-hero--editorial .swiper-button-next {
    bottom: 4% !important; right: 6% !important; left: auto !important;
  }
  .nui-hero--editorial .swiper-button-prev { right: calc(6% + 52px) !important; }

  .nui-hero--split .sp-panel { padding: 28px 20px; }
  .nui-hero--split .sp-title { font-size: clamp(1.3rem, 6vw, 1.8rem) !important; }
  .nui-hero--split .sp-excerpt { font-size: 14px !important; }

  .nui-hero--breaking-alert .bk-title { font-size: clamp(1.2rem, 6.5vw, 1.7rem); }
  .nui-hero--breaking-alert .bk-number { font-size: 36px !important; margin-bottom: -12px !important; }
  .nui-hero--breaking-alert .bk-meta { flex-direction: column !important; gap: 6px !important; }

  .nui-hero--minimal-type .swiper-slide { padding: 28px 20px !important; gap: 24px !important; }
  .nui-hero--minimal-type .mt-image { box-shadow: none !important; }
  .nui-hero--minimal-type .mt-title { font-size: clamp(1.4rem, 6vw, 2rem) !important; }
  .nui-hero--minimal-type .mt-excerpt { font-size: 14px !important; }

  .nui-hero--mosaic .mosaic-main-content { padding: 20px !important; }
  .nui-hero--mosaic .mosaic-cell:nth-child(1) .mosaic-main-content { padding: 24px 20px !important; }
  .nui-hero--mosaic .mosaic-title { font-size: 1rem !important; }
  .nui-hero--mosaic .mosaic-gap { border-width: 2px !important; }

  .nui-hero--photojournalism .pj-caption { padding: 14px 5% 18px !important; }
  .nui-hero--photojournalism .pj-caption-num { font-size: 28px !important; }
  .nui-hero--photojournalism .pj-title { font-size: 1.1rem !important; }
}

/* ── Hero templates missing / weak mobile queries ─────────── */
@media (max-width: 768px) {
  .nui-hero--bold-type,
  .nui-hero--tech-wire,
  .nui-hero--parallax-glass,
  .nui-hero--coverflow,
  .nui-hero--magcover,
  .nui-hero--newspaper {
    height: auto !important;
    min-height: 420px !important;
  }
  /* Sports/Breaking/Photojournalism need an explicit pixel height on mobile
     because their slides are full-bleed images; height:auto collapses them. */
  .nui-hero--sports,
  .nui-hero--breaking-alert,
  .nui-hero--photojournalism {
    height: 420px !important;
    min-height: 420px !important;
    max-height: none !important;
  }

  /* Bold type */
  .nui-hero--bold-type .bt-bg-word { font-size: clamp(4rem, 18vw, 10rem) !important; }
  .nui-hero--bold-type .bt-content { left: 5% !important; right: 5% !important; }
  .nui-hero--bold-type .bt-num { margin-bottom: 14px !important; }
  .nui-hero--bold-type .bt-num strong { font-size: 36px !important; }
  .nui-hero--bold-type .bt-title { font-size: clamp(1.8rem, 7vw, 2.6rem) !important; letter-spacing: -1px !important; }
  .nui-hero--bold-type .bt-excerpt { font-size: 14px !important; max-width: none !important; }
  .nui-hero--bold-type .bt-divider { margin-bottom: 14px !important; }

  /* Sports */
  .nui-hero--sports .sports-header {
    padding: 10px 4% !important; gap: 10px !important;
    overflow-x: auto !important; -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important; -ms-overflow-style: none !important;
  }
  .nui-hero--sports .sports-header::-webkit-scrollbar { display: none !important; }
  .nui-hero--sports .score-card { padding: 6px 10px !important; flex-shrink: 0 !important; }
  .nui-hero--sports .score-team { font-size: 10px !important; }
  .nui-hero--sports .score-val { font-size: 16px !important; min-width: 44px !important; }
  .nui-hero--sports .score-live { font-size: 8px !important; }
  .nui-hero--sports .sp-content { left: 5% !important; right: 5% !important; bottom: 12% !important; max-width: none !important; padding-top: 70px !important; }
  .nui-hero--sports .sp-title { font-size: clamp(1.5rem, 6vw, 2.2rem) !important; }

  /* Tech wire */
  .nui-hero--tech-wire .swiper-slide { display: flex !important; flex-direction: column !important; justify-content: flex-start !important; }
  .nui-hero--tech-wire .tw-content {
    position: static !important; transform: none !important;
    left: auto !important; right: auto !important; top: auto !important;
    padding: 80px 5% 24px !important;
  }
  .nui-hero--tech-wire .tw-title { font-size: clamp(1.6rem, 6.5vw, 2.4rem) !important; }
  .nui-hero--tech-wire .tw-meta { flex-direction: column !important; gap: 6px !important; }
  .nui-hero--tech-wire .tw-data {
    position: static !important; right: auto !important; bottom: auto !important;
    align-items: flex-start !important; text-align: left !important;
    padding: 0 5% 32px !important; margin-top: 0 !important;
  }
  .nui-hero--tech-wire .tw-stat { text-align: left !important; }

  /* Parallax glass */
  .nui-hero--parallax-glass { min-height: 500px !important; }
  .nui-hero--parallax-glass .pg-card { padding: 28px 24px !important; max-width: none !important; margin: 0 5% !important; }
  .nui-hero--parallax-glass .pg-title { font-size: clamp(1.5rem, 5.5vw, 2rem) !important; }
  .nui-hero--parallax-glass .pg-excerpt { font-size: 14px !important; }
  .nui-hero--parallax-glass .pg-actions { gap: 10px !important; }
  .nui-hero--parallax-glass .pg-meta { margin-left: 0 !important; width: 100% !important; }

  /* Coverflow */
  .nui-hero--coverflow { min-height: 420px !important; padding: 40px 0 60px !important; }
  .nui-hero--coverflow .swiper-slide { width: 340px !important; height: 260px !important; }
  .nui-hero--coverflow .cf-content { left: 20px !important; right: 20px !important; bottom: 20px !important; }
  .nui-hero--coverflow .cf-title { font-size: 18px !important; }

  /* Magazine cover */
  .nui-hero--magcover { min-height: 0 !important; height: auto !important; }
  .nui-hero--magcover .swiper-slide { grid-template-columns: 1fr !important; }
  .nui-hero--magcover .mc-image { height: 280px !important; }
  .nui-hero--magcover .mc-text { padding: 36px 24px !important; }
  .nui-hero--magcover .mc-masthead { padding-bottom: 14px !important; }
  .nui-hero--magcover .mc-brand { font-size: 28px !important; }
  .nui-hero--magcover .mc-title { font-size: clamp(1.6rem, 6vw, 2.2rem) !important; }
  .nui-hero--magcover .mc-deck { font-size: 15px !important; }
  .nui-hero--magcover .mc-cover-tag { top: 16px !important; right: 16px !important; padding: 8px 12px !important; font-size: 11px !important; }

  /* Side thumbs */
  .nui-hero--side-thumbs { gap: 10px !important; padding: 10px !important; }
  .nui-hero--side-thumbs .st-main { height: 320px !important; border-radius: 8px !important; }
  .nui-hero--side-thumbs .st-content { left: 24px !important; right: 24px !important; bottom: 24px !important; }
  .nui-hero--side-thumbs .st-title { font-size: clamp(1.3rem, 5.5vw, 1.8rem) !important; }
  .nui-hero--side-thumbs .st-thumbs { max-height: 200px !important; }
  .nui-hero--side-thumbs .st-thumb { grid-template-columns: 72px 1fr !important; gap: 8px !important; }
  .nui-hero--side-thumbs .st-thumb-img { width: 72px !important; height: 48px !important; }
  .nui-hero--side-thumbs .st-thumb-title { font-size: 16px !important; }

  /* Newspaper — move nav buttons below masthead so they don't overlap headline */
  .nui-hero--newspaper .swiper-button-prev,
  .nui-hero--newspaper .swiper-button-next {
    top: auto !important; bottom: 14px !important;
    background: rgba(17,17,17,.9) !important; border-color: rgba(255,255,255,.4) !important;
  }

  /* Breaking alert */
  .nui-hero--breaking-alert { box-shadow: inset 0 0 0 3px var(--nui-brand,#d6173a) !important; }
  .nui-hero--breaking-alert .bk-frame { inset: 3px !important; }
  .nui-hero--breaking-alert .bk-badge { top: 16px !important; padding: 5px 14px !important; font-size: 9px !important; }
  .nui-hero--breaking-alert .bk-content { bottom: 16% !important; }
  .nui-hero--breaking-alert .bk-number { font-size: 42px !important; }
}

@media (max-width: 480px) {
  .nui-hero--bold-type,
  .nui-hero--sports,
  .nui-hero--tech-wire,
  .nui-hero--parallax-glass,
  .nui-hero--coverflow,
  .nui-hero--magcover,
  .nui-hero--newspaper,
  .nui-hero--breaking-alert {
    min-height: 360px !important;
  }

  .nui-hero--bold-type .bt-title { font-size: clamp(1.4rem, 6.5vw, 2rem) !important; }
  .nui-hero--bold-type .bt-num {
    height: 0 !important; overflow: hidden !important; opacity: 0 !important;
    margin-bottom: 0 !important; line-height: 0 !important;
  }

  .nui-hero--sports .sports-header {
    display: flex !important; overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important; -ms-overflow-style: none !important;
    padding: 8px 3% !important; gap: 8px !important;
  }
  .nui-hero--sports .sports-header::-webkit-scrollbar { display: none !important; }
  .nui-hero--sports .score-card { flex-shrink: 0 !important; padding: 5px 10px !important; }
  .nui-hero--sports .sp-content { bottom: 14% !important; padding-top: 64px !important; }
  .nui-hero--sports .sp-title { font-size: clamp(1.3rem, 6.5vw, 1.8rem) !important; }

  .nui-hero--tech-wire .tw-bg { opacity: 0 !important; }
  .nui-hero--tech-wire .tw-content { padding: 60px 5% 20px !important; }
  .nui-hero--tech-wire .tw-title { font-size: clamp(1.3rem, 6.5vw, 1.8rem) !important; }
  .nui-hero--tech-wire .tw-meta { flex-direction: column !important; gap: 3px !important; }
  .nui-hero--tech-wire .tw-data { padding: 0 5% 24px !important; margin-top: 0 !important; }
  .nui-hero--tech-wire .tw-stat { text-align: left !important; font-size: 13px !important; }

  .nui-hero--parallax-glass .pg-card { padding: 18px 14px !important; margin: 0 3% !important; }
  .nui-hero--parallax-glass .pg-title { font-size: clamp(1.3rem, 6vw, 1.7rem) !important; }
  .nui-hero--parallax-glass .pg-excerpt { font-size: 13px !important; margin-bottom: 18px !important; }
  .nui-hero--parallax-glass .pg-actions { gap: 8px !important; }
  .nui-hero--parallax-glass .pg-btn { padding: 10px 16px !important; font-size: 12px !important; }

  .nui-hero--coverflow .swiper-slide { width: 260px !important; height: 220px !important; }
  .nui-hero--coverflow .cf-content { left: 18px !important; right: 18px !important; bottom: 18px !important; }
  .nui-hero--coverflow .cf-title { font-size: 16px !important; }

  .nui-hero--magcover .mc-text { padding: 28px 20px !important; }
  .nui-hero--magcover .mc-brand { font-size: 24px !important; }
  .nui-hero--magcover .mc-title { font-size: clamp(1.4rem, 6vw, 1.9rem) !important; }
  .nui-hero--magcover .mc-deck { font-size: 14px !important; }
  .nui-hero--magcover .mc-foot { flex-direction: column !important; align-items: flex-start !important; gap: 4px !important; }
  .nui-hero--magcover .mc-cover-tag { top: 12px !important; right: 12px !important; padding: 6px 10px !important; font-size: 10px !important; }

  .nui-hero--side-thumbs { padding: 6px !important; }
  .nui-hero--side-thumbs .st-main { height: 260px !important; }
  .nui-hero--side-thumbs .st-thumbs { max-height: 160px !important; }
  .nui-hero--side-thumbs .st-thumb { grid-template-columns: 60px 1fr !important; }
  .nui-hero--side-thumbs .st-thumb-img { width: 60px !important; height: 40px !important; }

  .nui-hero--breaking-alert .bk-number { font-size: 28px !important; }
  .nui-hero--breaking-alert .bk-title { font-size: clamp(1.1rem, 6.5vw, 1.5rem) !important; }
  .nui-hero--breaking-alert .bk-badge { padding: 4px 12px !important; }
  .nui-hero--breaking-alert .bk-ticker-strip .bk-scroll { gap: 30px !important; font-size: 11px !important; }
}

/* ── 3. Grids Extra (ng-* editorial layouts) ───────────────── */
@media (max-width: 768px) {
  /* Wire feed */
  .ng-wire__row {
    grid-template-columns: 1fr;
    gap: 6px; padding: 14px;
  }
  .ng-wire__time { width: auto; }

  /* Spotlight */
  .ng-spotlight__hero,
  .ng-spotlight__half { height: 240px; }
  .ng-spotlight__hero-body { padding: 24px 18px 18px; }
  .ng-spotlight__half-body { padding: 18px 14px 12px; }

  /* Banner strip */
  .ng-banner__hero-text { padding: 28px 24px; }
  .ng-banner__strip { grid-template-columns: 1fr 1fr; }

  /* Video showcase */
  .ng-videos__hero { gap: 18px; margin-bottom: 18px; }
  .ng-videos__hero-body h2 { font-size: 1.1rem; }
  .ng-videos__hero-body p { -webkit-line-clamp: 2; }

  /* Priority stack */
  .ng-priority__hero-body { padding: 28px 20px 18px; }
  .ng-priority__sec-body { padding: 18px 14px 10px; }

  /* River */
  .ng-river-row { gap: 18px; }
  .ng-river__feature-body { padding: 14px 16px; }
  .ng-river__sub { grid-template-columns: 64px 1fr; gap: 10px; padding-bottom: 12px; }
  .ng-river__sub img { width: 64px; }

  /* Regions */
  .ng-regions__grid { gap: 14px; }
  .ng-region__lead h3 { padding: 10px 12px 12px; }
  .ng-region__briefs { padding: 4px 12px 12px; }

  /* Longreads */
  .ng-longread__body { padding: 16px; gap: 6px; }
  .ng-longread__img { height: 170px; }
}

@media (max-width: 640px) {
  .ng-videos__row { grid-template-columns: 1fr; }
  .ng-priority__row { grid-template-columns: 1fr; }
  .ng-priority__side { flex-direction: column; }
  .ng-priority__secondary { height: 220px; }

  .ng-banner__strip { grid-template-columns: 1fr; }
  .ng-banner__sub { border-inline-end: none; border-bottom: 1px solid var(--nui-border); }
  .ng-banner__sub:last-child { border-bottom: none; }

  .ng-spotlight__stack { flex-direction: column; }
  .ng-spotlight__hero,
  .ng-spotlight__half { height: 220px; }

  .ng-tab-panel.is-active { gap: 16px; }

  .ng-bwall__item { padding: 14px 14px 14px 18px; }
  .ng-bwall__title { font-size: .82rem; }

  .ng-agp1__top .nui-card--overlay { min-height: 200px; }
  .ng-agp1__item { grid-template-columns: 1fr 80px; }
  .ng-agp1__item img { height: 64px !important; }

  .ng-sb__hero { min-height: 280px; }
  .ng-sb__grid { grid-template-columns: 1fr; }

  .ng-edi__head { flex-direction: column; align-items: flex-start; gap: 8px; }

  .ng-latest__hero { min-height: 220px; }

  .ng-topic__feature .nui-card__title,
  .ng-topic__feature .nui-card__title a { font-size: 1.25rem; }
  .ng-topic__grid { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .ng-wire__row { padding: 12px; }
  .ng-wire__headline { font-size: .85rem; }

  .ng-banner__hero-text { padding: 22px 18px; gap: 10px; }
  .ng-banner__hero-img { height: 180px; }

  .ng-river__sub { grid-template-columns: 1fr; }
  .ng-river__sub img { width: 100%; height: 120px; border-radius: 6px; }

  .ng-regions__grid { grid-template-columns: 1fr; }

  .ng-longread__img { height: 150px; }
  .ng-longread__title { font-size: 1rem; }
  .ng-longread__deck { font-size: .8rem; }

  .ng-bwall { grid-template-columns: 1fr; }

  .ng-agp1__top,
  .ng-agp1__list { grid-template-columns: 1fr; }
  .ng-agp1__top .nui-card--overlay { min-height: 180px; }
  .ng-agp1__item { grid-template-columns: 1fr 70px; }
  .ng-agp1__item img { height: 56px !important; }

  .ng-latest__head { flex-direction: row; align-items: flex-start; gap: 8px; }

  .ng-topic__head h2 { font-size: 1.25rem; }
  .ng-topic__feature .nui-card__title,
  .ng-topic__feature .nui-card__title a { font-size: 1.1rem; }
}

/* ── 4. Grid library ───────────────────────────────────────── */
@media (max-width: 480px) {
  .nui-grid-cards,
  .lib-grid--auto,
  .lib-grid--filter-sort .fs-grid { grid-template-columns: 1fr; }
  .lib-grid--bento .bento-title,
  .lib-grid--bento .bento-title a { font-size: 12px; }
  .lib-grid--bento .bento-big .bento-title,
  .lib-grid--bento .bento-big .bento-title a { font-size: 15px; }

  .lib-grid--story .story-item { grid-template-columns: 56px 1fr; }
  .lib-grid--story .story-num .sn-digit { width: 34px; height: 34px; font-size: 12px; }

  .lib-grid--hscroll-sections .hss-card { width: 180px; }
  .lib-grid--hscroll-sections .hss-card .hss-img { height: 110px; }

  .lib-grid--color-bands .band-grid { grid-template-columns: 1fr; }
}

/* ── 5. Cards library ──────────────────────────────────────── */
@media (max-width: 640px) {
  .lib-card--horizontal .card-img { width: 100px; }
  .lib-card--horizontal .card-body { padding: 12px; }
  .lib-card--horizontal .card-title,
  .lib-card--horizontal .card-title a { font-size: 16px; -webkit-line-clamp: 2; }
  .lib-card--overlay .card-title,
  .lib-card--overlay .card-title a { font-size: 15px; }

  .lib-card--data .data-stats { gap: 12px; }
  .lib-card--data .stat-val { font-size: 18px; }

  .lib-card--author-feature { padding: 24px 18px; }
  .lib-card--author-feature .af-stats { flex-wrap: wrap; justify-content: center; }
}

@media (max-width: 480px) {
  .lib-card--horizontal {
    flex-direction: column;
  }
  .lib-card--horizontal .card-img {
    width: 100%;
  }
  .lib-card--horizontal .card-img img { height: 100%; }

  .lib-card--event .countdown { grid-template-columns: repeat(2, 1fr); }
  .lib-card--gallery .gallery-grid { grid-template-columns: 1fr; }
  .lib-card--gallery .gallery-cell:first-child { grid-row: auto; }
}

/* ── 6. Lists library ──────────────────────────────────────── */
@media (max-width: 640px) {
  .lib-list--rich .li-thumb { width: 90px; height: 68px; }
  .lib-list--rich .li-title,
  .lib-list--rich .li-title a { font-size: 14px; }
  .lib-list--rich .li-excerpt { -webkit-line-clamp: 2; }

  .lib-list--feed .li-thumb { width: 64px; height: 48px; }

  .lib-list--live .li-time { width: 48px; }

  .lib-list--editors .editor-row { flex-wrap: wrap; gap: 8px; }
  .lib-list--editors .ed-pick-label { margin-left: 0; }
  [dir="rtl"] .lib-list--editors .ed-pick-label { margin-right: 0; }

  .lib-list--most-read .mr-top { gap: 10px; }
  .lib-list--most-read .li-thumb { width: 60px; height: 45px; }
}

@media (max-width: 480px) {
  .lib-list--numbered .lib-list-item { gap: 12px; }
  .lib-list--numbered .lib-list-item::before { font-size: 22px; min-width: 32px; }

  .lib-list--grouped .li-thumb { width: 52px; height: 38px; }

  .lib-list--comments .cmt-date { margin-left: 0; width: 100%; }
  [dir="rtl"] .lib-list--comments .cmt-date { margin-right: 0; }
}

/* ── 7. Navigation / widgets ───────────────────────────────── */
@media (max-width: 768px) {
  .lib-nav--mega .mega-inner,
  .lib-nav--logo-center,
  .lib-nav--double .nav-main,
  .lib-nav--dark-editorial,
  .lib-nav--breaking-integrated .bi-main,
  .lib-nav--search-first {
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    flex-wrap: nowrap;
  }
  .lib-nav--mega .mega-inner::-webkit-scrollbar,
  .lib-nav--logo-center::-webkit-scrollbar,
  .lib-nav--double .nav-main::-webkit-scrollbar,
  .lib-nav--dark-editorial::-webkit-scrollbar,
  .lib-nav--breaking-integrated .bi-main::-webkit-scrollbar,
  .lib-nav--search-first::-webkit-scrollbar { display: none; }

  /* Disable mega dropdown on mobile to avoid clipped overflow */
  .lib-nav--mega .mega-drop { display: none !important; }

  .lib-nav--logo-center { grid-template-columns: auto 1fr; padding: 0 4%; height: 64px; }
  .lib-nav--logo-center .nc-left,
  .lib-nav--logo-center .nc-right { display: none; }

  .lib-nav--floating {
    left: 4%; right: 4%;
    transform: none;
    padding: 10px 18px;
    gap: 18px;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .lib-nav--floating::-webkit-scrollbar { display: none; }
}

@media (max-width: 480px) {
  .lib-nav--double .nav-topbar {
    flex-direction: column; gap: 4px; align-items: flex-start;
    padding: 8px 4%;
  }

  .lib-widget--weather .wx-temp-big { font-size: 42px; }
  .lib-widget--weather .wx-icon { font-size: 40px; }
  .lib-widget--weather .wx-details { gap: 10px; }

  .lib-widget--scores .sc-league { width: 34px; }
}

/* ── 8. Reduce motion for users who prefer it ──────────────── */
@media (max-width: 640px) and (prefers-reduced-motion: reduce) {
  .nui-hero-lib .slide-bg,
  .ng-longread__img img,
  .ng-spotlight__hero img,
  .ng-spotlight__half img,
  .ng-banner__hero-img img,
  .ng-priority__hero img,
  .ng-priority__secondary img,
  .ng-videos__play-wrap img,
  .ng-videos__thumb-img img,
  .ng-region__lead img,
  .ng-agp1__item img,
  .ng-sb__hero img,
  .lib-card .card-img img,
  .lib-grid--masonry .masonry-item img {
    transition: none !important;
  }
}

/* ================================================================
   DEEP MOBILE RESPONSIVENESS OVERRIDES
   Targets inline styles and templates that still render desktop
   layouts on narrow viewports.
   ================================================================ */

/* ── 9. Override inline grid-template-columns on mobile ───── */
@media (max-width: 1024px) {
  .ng-bwall,
  .ng-bwall__grid,
  .ng-regions__grid,
  .ng-priority__row,
  .ng-priority__side,
  .ng-videos__row,
  .ng-image-showcase__thumbs,
  .ng-image-showcase__grid,
  .ng-agp1__top,
  .ng-agp1__list,
  .ng-sb__grid,
  .ng-topic__grid,
  .ng-latest__grid,
  .ng-edi__grid,
  .ng-banner__strip,
  .ng-tab-panel.is-active,
  [class*="ng-"][style*="grid-template-columns"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 640px) {
  .ng-bwall,
  .ng-bwall__grid,
  .ng-regions__grid,
  .ng-priority__row,
  .ng-priority__side,
  .ng-videos__row,
  .ng-image-showcase__thumbs,
  .ng-image-showcase__grid,
  .ng-agp1__top,
  .ng-agp1__list,
  .ng-sb__grid,
  .ng-topic__grid,
  .ng-latest__grid,
  .ng-edi__grid,
  .ng-banner__strip,
  .ng-tab-panel.is-active,
  .ng-river-row,
  .ng-spotlight,
  .ng-spotlight__stack,
  .ng-banner__hero,
  [class*="ng-"][style*="grid-template-columns"] {
    grid-template-columns: 1fr !important;
  }

  /* Force stacked images on priority / regions / video rows */
  .ng-priority__side { flex-direction: column !important; }
  .ng-priority__secondary { height: 220px !important; }
  .ng-videos__hero { flex-direction: column !important; }
  .ng-videos__hero-body { padding: 16px 0 0; }
  .ng-regions__grid { gap: 16px !important; }
  .ng-region__lead img { height: 200px !important; }

  /* Image showcase thumbnails become a horizontal scroll strip */
  .ng-image-showcase__thumbs {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    gap: 8px !important;
    scrollbar-width: none;
  }
  .ng-image-showcase__thumbs::-webkit-scrollbar { display: none; }
  .ng-image-showcase__thumbs > * { flex: 0 0 80px; }
}

@media (max-width: 480px) {
  .ng-bwall__item { padding: 12px 12px 12px 16px !important; }
  .ng-bwall__title { font-size: .8rem !important; }
  .ng-bwall__rank { font-size: 1.2rem !important; }
}

/* ── 10. Card rows / column helpers ───────────────────────── */
@media (max-width: 1024px) {
  .nui-cards-row[class*="nui-cols-"] { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 640px) {
  .nui-cards-row[class*="nui-cols-"] {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}

/* ── 11. Library cards ────────────────────────────────────── */
@media (max-width: 640px) {
  .lib-card--horizontal {
    flex-direction: column !important;
  }
  .lib-card--horizontal .card-img {
    width: 100% !important;
    height: auto !important;
  }
  .lib-card--horizontal .card-img img {
    position: static !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
  .lib-card--overlay {
    height: auto !important;
    min-height: 260px !important;
  }
  .lib-card--overlay .card-img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }
  .lib-card--overlay .card-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    position: absolute !important;
    inset: 0 !important;
  }
  .lib-card--overlay .card-body { padding: 16px !important; }
  .lib-card--overlay .card-title,
  .lib-card--overlay .card-title a { font-size: 15px !important; }
}

/* ── 12. Hero templates missing mobile queries ────────────── */
@media (max-width: 768px) {
  .nui-hero--tech,
  .nui-hero--boldtype,
  .nui-hero--breaking,
  .nui-hero--parallax,
  .nui-hero--newspaper,
  .nui-hero--magazine,
  .nui-hero--tv,
  .nui-hero--lib {
    height: auto !important;
    min-height: 420px !important;
  }

  /* Sports */
  .nui-hero--sports .swiper-slide { grid-template-columns: 1fr !important; }
  .nui-hero--sports .hero-sports__media { height: 260px !important; }
  .nui-hero--sports .hero-sports__body { padding: 28px 24px !important; }
  .nui-hero--sports .hero-sports__title { font-size: clamp(1.4rem, 6vw, 2rem) !important; }

  /* Tech */
  .nui-hero--tech .hero-tech__grid { grid-template-columns: 1fr !important; }
  .nui-hero--tech .hero-tech__lead { min-height: 280px !important; }
  .nui-hero--tech .hero-tech__side { grid-template-columns: 1fr !important; }

  /* Boldtype */
  .nui-hero--boldtype .hero-bold__title { font-size: clamp(1.6rem, 7vw, 2.4rem) !important; }
  .nui-hero--boldtype .hero-bold__row { flex-direction: column !important; gap: 16px !important; }

  /* Breaking */
  .nui-hero--breaking .hero-breaking__grid { grid-template-columns: 1fr !important; }
  .nui-hero--breaking .hero-breaking__lead { min-height: 300px !important; }

  /* Parallax */
  .nui-hero--parallax .hero-parallax__title { font-size: clamp(1.5rem, 6vw, 2.2rem) !important; }
  .nui-hero--parallax .hero-parallax__excerpt { font-size: .9rem !important; }

  /* Newspaper / Magazine / TV generic */
  .nui-hero--newspaper .hero-news__grid,
  .nui-hero--magazine .hero-mag__grid,
  .nui-hero--tv .hero-tv__grid { grid-template-columns: 1fr !important; }
}

@media (max-width: 480px) {
  .nui-hero--sports,
  .nui-hero--tech,
  .nui-hero--boldtype,
  .nui-hero--breaking,
  .nui-hero--parallax,
  .nui-hero--newspaper,
  .nui-hero--magazine,
  .nui-hero--tv,
  .nui-hero--lib {
    min-height: 360px !important;
  }
  .nui-hero--sports .hero-sports__media { height: 200px !important; }
  .nui-hero--boldtype .hero-bold__title { font-size: clamp(1.3rem, 6.5vw, 1.9rem) !important; }
}

/* ── 13. Carousel extensions mobile fixes ─────────────────── */
@media (max-width: 768px) {
  .nui-crx-coverflow .swiper-slide { width: 260px !important; }
  .nui-crx-coverflow__media { height: 160px !important; }
  .nui-crx-coverflow__body { padding: 16px !important; }

  .nui-crx-ticker__card { min-width: 260px !important; max-width: 320px !important; }

  .nui-crx-stacked { max-width: 100% !important; height: 520px !important; margin-inline: 0 !important; }

  .nui-vertical-slider { height: 320px !important; }
  .nui-vslide__thumb { width: 56px !important; height: 42px !important; }
  .nui-vslide__title { font-size: 16px !important; }
  .nui-gallery-thumbs { margin-top: 8px !important; }
}

@media (max-width: 480px) {
  .nui-crx-split .swiper-slide { grid-template-columns: 1fr !important; min-height: 0 !important; }
  .nui-crx-split__img { height: 220px !important; }
  .nui-crx-split__body { padding: 24px !important; }

  .nui-crx-timeline__slide { grid-template-columns: 1fr !important; gap: 16px !important; }
  .nui-crx-timeline__date { font-size: 2.5rem !important; }
  .nui-crx-timeline__title,
  .nui-crx-timeline__title a { font-size: 1.1rem !important; }

  .nui-crx-coverflow .swiper-slide { width: 220px !important; }
  .nui-crx-coverflow__media { height: 140px !important; }

  .nui-vertical-slider { height: 280px !important; }
}

/* ── 14. Lists / Most read / Trending mobile fixes ────────── */
@media (max-width: 640px) {
  .lib-list--most-read .mr-top,
  .lib-list--trending .trend-top {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
  }
  .lib-list--most-read .mr-bar-wrap,
  .lib-list--trending .trend-bar-wrap {
    width: 100% !important;
    max-width: none !important;
  }
}

/* ── 20. Component lists mobile tweaks ────────────────────── */
@media (max-width: 640px) {
  .nui-list--rich .nui-list__item { grid-template-columns: 100px 1fr !important; gap: 12px !important; }
  .nui-list--rich .nui-list__title { font-size: var(--nui-fs-sm) !important; }
  .nui-list--rich .nui-list__excerpt { display: none !important; }

  .nui-list--feed .nui-list__time { min-width: 52px !important; }
  .nui-list--feed .nui-list__title { font-size: var(--nui-fs-sm) !important; }

  .nui-list--editor .nui-list__item { grid-template-columns: 48px 1fr auto !important; gap: 12px !important; padding: 12px !important; }
  .nui-list--editor .nui-list__avatar { width: 48px !important; height: 48px !important; }
  .nui-list--editor .nui-list__name { font-size: var(--nui-fs-sm) !important; }
  .nui-list--editor .nui-list__count { font-size: var(--nui-fs-xs) !important; }

  .nui-list--ranked .nui-list__item { gap: 12px !important; }
  .nui-list--ranked .nui-list__item::before { font-size: var(--nui-fs-2xl) !important; }
  .nui-list--ranked .nui-list__title { font-size: var(--nui-fs-sm) !important; }
}

@media (max-width: 480px) {
  .nui-list--rich .nui-list__item { grid-template-columns: 80px 1fr !important; }
  .nui-list--rich .nui-list__title { -webkit-line-clamp: 2 !important; }

  .nui-list--ranked .nui-list__item::before {
    font-size: 1.5rem !important;
    -webkit-text-stroke: 1px var(--nui-color-brand) !important;
  }
}

/* ── 15. General layout hardening ─────────────────────────── */
@media (max-width: 640px) {
  .nui-section > *,
  .ng-section > * { max-width: 100%; }

  /* Prevent horizontal overflow from long grid rows */
  .nui-cards-row, .lib-grid, .ng-section, .nui-section {
    overflow-x: hidden;
  }
}

@media (max-width: 640px) {
/* ── Global image container hardening ─────────────────────── */
.nui-card__media,
.lib-card .card-img,
.nui-list__media,
.lib-list-item .li-thumb,
.ng-river__sub .nui-card__media,
.ng-videos__play-wrap,
.ng-videos__thumb-img,
.ng-image-showcase__thumb-img,
.ng-region__lead,
.ng-agp1__item .nui-card__media,
.ng-latest__mini .nui-card__media,
.ng-bwall__item .nui-card__media,
.ng-sb__hero .nui-card__media,
.ng-topic__feature .nui-card__media,
.ng-longread__img,
.ng-spotlight__hero,
.ng-spotlight__half,
.ng-banner__hero-img,
.ng-banner__sub,
.nui-hero-slide__img,
.nui-crx-split__img,
.nui-crx-timeline__slide img,
.nui-gallery-slider .swiper-slide,
.nui-gallery-thumbs .swiper-slide,
.lib-grid--bento .bento-item,
.lib-grid--alternating .alt-img,
.lib-grid--story .story-img,
.lib-grid--hscroll-sections .hss-img,
.lib-grid--masonry .masonry-item,
.lib-gallery--hero .gh-main,
.lib-gallery--hero .gh-item {
  overflow: hidden;
}

.nui-card__media img,
.lib-card .card-img img,
.nui-list__media img,
.lib-list-item .li-thumb img,
.ng-river__sub .nui-card__media img,
.ng-videos__play-wrap img,
.ng-videos__thumb-img img,
.ng-image-showcase__thumb-img img,
.ng-region__lead img,
.ng-agp1__item .nui-card__media img,
.ng-latest__mini .nui-card__media img,
.ng-bwall__item .nui-card__media img,
.ng-sb__hero .nui-card__media img,
.ng-topic__feature .nui-card__media img,
.ng-longread__img img,
.ng-spotlight__hero img,
.ng-spotlight__half img,
.ng-banner__hero-img img,
.ng-banner__sub img,
.nui-hero-slide__img img,
.nui-crx-split__img img,
.nui-crx-timeline__slide img,
.nui-gallery-slider .swiper-slide img,
.nui-gallery-thumbs .swiper-slide img,
.lib-grid--bento .bento-item img,
.lib-grid--alternating .alt-img img,
.lib-grid--story .story-img img,
.lib-grid--hscroll-sections .hss-img img,
.lib-grid--masonry .masonry-item img,
.lib-gallery--hero .gh-main img,
.lib-gallery--hero .gh-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

}

/* ── 19. Grid library breakpoint improvements ─────────────── */
@media (max-width: 900px) {
  .lib-grid--bento { grid-template-columns: repeat(2, 1fr) !important; grid-template-rows: auto !important; }
  .lib-grid--bento .bento-big .bento-title,
  .lib-grid--bento .bento-big .bento-title a { font-size: 16px !important; }
}

@media (max-width: 768px) {
  .lib-grid--magazine { grid-template-columns: 1fr !important; }
  .lib-grid--magazine .mag-main { grid-row: auto !important; }

  .lib-grid--alternating { gap: 28px !important; }
  .lib-grid--alternating .alt-item { gap: 20px !important; grid-template-columns: 1fr !important; }
  .lib-grid--alternating .alt-item:nth-child(even) { direction: ltr !important; }

  .lib-grid--timeline-h { padding-top: 28px !important; }
  .lib-grid--timeline-h .tl-track { padding-bottom: 24px !important; }
  .lib-grid--timeline-h .tl-item { width: 180px !important; padding: 0 12px !important; }

  .lib-grid--hscroll-sections { gap: 28px !important; }
  .lib-grid--hscroll-sections .hss-card { width: 180px !important; }
  .lib-grid--hscroll-sections .hss-card .hss-img { height: 110px !important; }

  .lib-grid--color-bands .band { padding: 18px 0 !important; }
  .lib-grid--color-bands .band-header { margin-bottom: 14px !important; }
  .lib-grid--color-bands .band-grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)) !important; gap: 12px !important; }

  .lib-grid--story .story-item { grid-template-columns: 56px 1fr !important; min-height: 80px !important; }
  .lib-grid--story .story-num { padding: 14px 12px 0 !important; }
  .lib-grid--story .story-num .sn-digit { width: 34px !important; height: 34px !important; font-size: 12px !important; }
  .lib-grid--story .story-content { padding: 12px 16px 24px 0 !important; }
  .lib-grid--story .story-title,
  .lib-grid--story .story-title a { font-size: 15px !important; }

  .lib-grid--newspaper { column-count: 1 !important; }
}

@media (max-width: 640px) {
  .lib-grid--bento { grid-template-columns: 1fr !important; }
  .lib-grid--bento .bento-wide,
  .lib-grid--bento .bento-big { grid-column: 1 !important; }
  .lib-grid--bento .bento-tall,
  .lib-grid--bento .bento-big { grid-row: auto !important; }
  .lib-grid--bento .bento-title,
  .lib-grid--bento .bento-title a { font-size: 18px !important; }
  .lib-grid--bento .bento-big .bento-title,
  .lib-grid--bento .bento-big .bento-title a { font-size: 15px !important; }

  .lib-grid--masonry { columns: 1 !important; }

  .lib-grid--timeline-h .tl-item { width: 160px !important; }
  .lib-grid--timeline-h .tl-title,
  .lib-grid--timeline-h .tl-title a { font-size: 13px !important; }

  .lib-grid--hscroll-sections .hss-card { width: 160px !important; }
  .lib-grid--hscroll-sections .hss-card .hss-img { height: 100px !important; }
  .lib-grid--hscroll-sections .hss-card .hss-body { padding: 12px !important; }
  .lib-grid--hscroll-sections .hss-title,
  .lib-grid--hscroll-sections .hss-title a { font-size: 13px !important; }

  .lib-grid--color-bands .band-grid { grid-template-columns: 1fr !important; }
}

@media (max-width: 480px) {
  .lib-grid--alternating { gap: 22px !important; }
  .lib-grid--alternating .alt-content { padding: 12px 0 !important; }
  .lib-grid--alternating .alt-title { font-size: 1.1rem !important; }
  .lib-grid--alternating .alt-excerpt { font-size: 14px !important; }

  .lib-grid--timeline-h .tl-item { width: 140px !important; padding: 0 10px !important; }
  .lib-grid--timeline-h .tl-dot { width: 12px !important; height: 12px !important; }

  .lib-grid--hscroll-sections .hss-card { width: 140px !important; }
  .lib-grid--hscroll-sections .hss-card .hss-img { height: 90px !important; }
}

/* ── 16. Override remaining inline flex/width styles ──────── */
@media (max-width: 640px) {
  /* Small horizontal cards with inline flex-basis (e.g. grid-lnp) */
  .nui-card--sm .nui-card__media[style*="flex"] {
    flex: 0 0 38% !important;
  }
  .nui-card--sm {
    flex-direction: row !important;
    align-items: stretch !important;
  }

  .nui-card {
    height: auto !important;
    margin: 10px 0 !important;
  }

  /* Variable-width carousel slides keep natural width but don't overflow */
  .swiper-slide[style*="width:auto"],
  .swiper-slide[style*="width: auto"] {
    max-width: 85vw !important;
  }

  /* Inline fixed-width images inside cards should never exceed container */
  .lib-card img[style*="width:"],
  .nui-card img[style*="width:"],
  .ng-section img[style*="width:"] {
    max-width: 100% !important;
    height: auto !important;
  }
}

/* ── 17. Card variants cleaned of inline styles ───────────── */
@media (max-width: 640px) {
  .lib-card--data { padding: 12px !important; }
  .lib-card--data .data-chart { height: 44px !important; }
  .lib-card--data .data-chart .bar { width: 8px !important; }
  .lib-card--data .data-stats { gap: 12px !important; padding-top: 12px !important; margin-top: 12px !important; }
  .lib-card--data .stat-val { font-size: 16px !important; }

  .lib-card--event { padding: 14px !important; }
  .lib-card--event .countdown {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 6px !important;
  }
  .lib-card--event .event-title,
  .lib-card--event .event-title a { font-size: 16px !important; }
  .lib-card--event .cd-num { font-size: 22px !important; }

  .lib-card--poll { padding: 14px !important; }
  .lib-card--poll .poll-question { font-size: 15px !important; margin-bottom: 14px !important; }
  .lib-card--poll .poll-bar-wrap { height: 32px !important; }
  .lib-card--poll .poll-bar-wrap .poll-text { line-height: 32px !important; font-size: 12px !important; padding: 0 10px !important; }

  .lib-card--podcast .card-title,
  .lib-card--podcast .card-title a { font-size: 13px !important; margin-bottom: 10px !important; }
  .lib-card--podcast .pod-header { gap: 12px !important; margin-bottom: 14px !important; }
  .lib-card--podcast .pod-art { width: 56px !important; height: 56px !important; }
}

@media (max-width: 480px) {
  .lib-card--data { padding: 10px !important; }
  .lib-card--event .countdown { grid-template-columns: repeat(2, 1fr) !important; }
  .lib-card--poll { padding: 12px !important; }
}

/* ── 18. Multi-row carousel mobile fixes ──────────────────── */
@media (max-width: 768px) {
  .nui-multirow .swiper-slide { gap: 12px !important; }
  .nui-multirow .card-img { width: 90px !important; height: 64px !important; }
}
@media (max-width: 480px) {
  .nui-multirow .card-img { width: 72px !important; height: 52px !important; }
  .nui-multirow .card-body { padding: 10px !important; }
  .nui-multirow .card-title,
  .nui-multirow .card-title a { font-size: 14px !important; -webkit-line-clamp: 2 !important; }
}
