/* Ninja Theme Pro native Joomla page presentation authority — 8.20.116 */

/* Baseline page shell for Joomla-native views that do not yet have a Ninja dynamic template. */
body.ninja-theme-pro .ninja-main-column > :is(.com-content-article,.com-content-category-blog,.com-finder,.com-users-login,.com-users-profile,.com-contact-contact,.com-tags-tag,.com-newsfeeds-newsfeed,.com-wrapper-iframe),
body.ninja-component-only .ninja-main-column > :is(.com-content-article,.com-content-category-blog,.com-finder,.com-users-login,.com-users-profile,.com-contact-contact,.com-tags-tag,.com-newsfeeds-newsfeed,.com-wrapper-iframe){
  width:100%;
  min-width:0;
}

/* Joomla article chrome: Joomla decides visibility + above/below placement; Ninja controls presentation. */
.ntp-native-article .article-info-term,
.ntp-native-article .article-info .article-info-term,
.ntp-native-article dt.article-info-term{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.ntp-native-article .article-info,
.ntp-native-article dl.article-info,
.ntp-native-article .article-info.muted{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.55rem 1rem;
  margin:var(--ninja-space-md,1rem) 0 var(--ninja-space-lg,2rem);
  padding:var(--ninja-component-content-meta-padding-y,.65rem) var(--ninja-component-content-meta-padding-x,0);
  border:var(--ninja-component-content-meta-border-width,0) solid var(--ninja-color-border,#d9e2ec);
  border-radius:var(--ninja-component-content-meta-radius,0);
  box-shadow:var(--ninja-component-content-meta-shadow,none);
  color:var(--ninja-color-muted-text,#6b7280);
  font-size:calc(var(--ninja-font-small-size,14) * 1px);
  line-height:var(--ninja-font-small-line-height,1.45);
}
.ntp-native-article .article-info dd,
.ntp-native-article .article-info .article-info-item{
  display:inline-flex;
  align-items:center;
  gap:.3rem;
  margin:0;
  padding:0;
}
.ntp-native-article .article-info a{font-weight:700;text-decoration-thickness:1px;text-underline-offset:2px}
.ntp-native-article .page-header{margin:0 0 var(--ninja-space-md,1rem)}
.ntp-native-article .page-header h1,.ntp-native-article .page-header h2{margin-top:0}
.ntp-native-article .com-content-article__body{margin-top:var(--ninja-space-md,1rem)}

/* Previous / Next article navigation — one universal component, token-driven for every preset. */
.ntp-native-article .pagenavigation,
.ntp-native-article nav.pagenavigation,
body.ninja-theme-pro .pagenavigation,
body.ninja-component-only .pagenavigation{
  margin:var(--ninja-component-page-navigation-margin-top,3rem) 0 var(--ninja-space-md,1rem);
  padding-top:var(--ninja-space-md,1rem);
  border-top:1px solid var(--ninja-color-border,#d9e2ec);
}
.ntp-native-article .pagenavigation .pagination,
.ntp-native-article .pagenavigation ul,
body.ninja-theme-pro .pagenavigation .pagination,
body.ninja-component-only .pagenavigation .pagination{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:stretch;
  gap:var(--ninja-component-page-navigation-gap,1rem);
  margin:0;
  padding:0;
  list-style:none;
}
.ntp-native-article .pagenavigation li,
body.ninja-theme-pro .pagenavigation li,
body.ninja-component-only .pagenavigation li{
  min-width:0;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  list-style:none;
}
.ntp-native-article .pagenavigation li.previous,
.ntp-native-article .pagenavigation li.prev,
body.ninja-theme-pro .pagenavigation li.previous,
body.ninja-theme-pro .pagenavigation li.prev,
body.ninja-component-only .pagenavigation li.previous,
body.ninja-component-only .pagenavigation li.prev{grid-column:1;text-align:left}
.ntp-native-article .pagenavigation li.next,
body.ninja-theme-pro .pagenavigation li.next,
body.ninja-component-only .pagenavigation li.next{grid-column:2;text-align:right}
.ntp-native-article .pagenavigation a,
body.ninja-theme-pro .pagenavigation a,
body.ninja-component-only .pagenavigation a{
  display:flex;
  align-items:center;
  gap:.5rem;
  width:100%;
  min-height:44px;
  padding:var(--ninja-component-page-navigation-padding-y,.65rem) var(--ninja-component-page-navigation-padding-x,1rem);
  border:var(--ninja-component-page-navigation-border-width,1px) solid var(--ninja-color-border,#d9e2ec);
  border-radius:var(--ninja-component-page-navigation-radius,10px);
  background:var(--ninja-color-card-background,#fff);
  box-shadow:var(--ninja-component-page-navigation-shadow,none);
  color:var(--ninja-color-heading-text,#061c3f);
  font-family:var(--ninja-font-navigation-family,var(--ninja-font-body-family));
  font-size:calc(var(--ninja-font-navigation-size,15) * 1px);
  font-weight:var(--ninja-font-navigation-weight,700);
  line-height:var(--ninja-font-navigation-line-height,1.25);
  text-decoration:none;
}
.ntp-native-article .pagenavigation li.next a,
body.ninja-theme-pro .pagenavigation li.next a,
body.ninja-component-only .pagenavigation li.next a{justify-content:flex-end;text-align:right}
/* Joomla's pagination stylesheet can turn helper/icon spans into nested boxes.
   Keep every child inside an article-navigation link visually part of the one control. */
.ntp-native-article .pagenavigation a :is(span,i),
body.ninja-theme-pro .pagenavigation a :is(span,i),
body.ninja-component-only .pagenavigation a :is(span,i){
  min-width:0;
  min-height:0;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.ntp-native-article .pagenavigation a .visually-hidden,
body.ninja-theme-pro .pagenavigation a .visually-hidden,
body.ninja-component-only .pagenavigation a .visually-hidden{
  position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important
}
.ntp-native-article .pagenavigation a:hover,
.ntp-native-article .pagenavigation a:focus-visible,
body.ninja-theme-pro .pagenavigation a:hover,
body.ninja-theme-pro .pagenavigation a:focus-visible,
body.ninja-component-only .pagenavigation a:hover,
body.ninja-component-only .pagenavigation a:focus-visible{
  border-color:var(--ninja-color-primary,#1473ff);
  color:var(--ninja-color-primary,#1473ff);
  outline:none;
}

/* Generic Joomla pagination should never collapse into unspaced inline text. */
body.ninja-theme-pro .pagination,
body.ninja-component-only .pagination{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  align-items:center;
  padding:0;
  margin:var(--ninja-space-lg,2rem) 0 0;
  list-style:none;
}
body.ninja-theme-pro .pagination .page-link,
body.ninja-theme-pro .pagination a,
body.ninja-theme-pro .pagination span,
body.ninja-component-only .pagination .page-link,
body.ninja-component-only .pagination a,
body.ninja-component-only .pagination span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  min-height:42px;
  padding:.45rem .7rem;
  border:1px solid var(--ninja-color-border,#d9e2ec);
  border-radius:var(--ninja-component-page-navigation-radius,10px);
  background:var(--ninja-color-card-background,#fff);
  text-decoration:none;
}

/* Default Joomla component surfaces: polished without forcing every page into a card. */
body.ninja-theme-pro :is(.com-users-login,.com-users-profile,.com-contact-contact) fieldset,
body.ninja-component-only :is(.com-users-login,.com-users-profile,.com-contact-contact) fieldset{
  border:0;
  margin:0 0 var(--ninja-space-lg,2rem);
  padding:0;
}
body.ninja-theme-pro :is(.com-users-login,.com-users-profile,.com-contact-contact) legend,
body.ninja-component-only :is(.com-users-login,.com-users-profile,.com-contact-contact) legend{
  margin-bottom:var(--ninja-space-md,1rem);
  color:var(--ninja-color-heading-text,#061c3f);
  font-weight:800;
}
body.ninja-theme-pro .com-content-article img,
body.ninja-component-only .com-content-article img{border-radius:min(var(--ninja-component-cards-radius,18px),24px)}

@media(max-width:640px){
  .ntp-native-article .article-info,.ntp-native-article dl.article-info{gap:.45rem .75rem;font-size:.88rem}
  .ntp-native-article .pagenavigation .pagination,.ntp-native-article .pagenavigation ul,body.ninja-theme-pro .pagenavigation .pagination,body.ninja-component-only .pagenavigation .pagination{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .ntp-native-article .pagenavigation a,body.ninja-theme-pro .pagenavigation a,body.ninja-component-only .pagenavigation a{min-height:44px}
}
