/* Oversight.Pro News Sections 1.0.1. All rules are module-scoped; existing Bootstrap/theme supplies colors and fonts. */
.stipko-ns-shell { min-width:0; max-width:100%; container-type:inline-size; container-name:stipko-news-sections; }
.stipko-ns-shell .stipko-ns-header { padding:var(--ns-padding); }
.stipko-ns-shell .stipko-ns-heading { font-size:var(--ns-heading-size); font-weight:var(--ns-heading-weight); line-height:1.25; overflow-wrap:anywhere; }
.stipko-ns-shell .stipko-ns-subtitle { font-size:var(--ns-description-size); line-height:1.5; overflow-wrap:anywhere; }
.stipko-ns-shell .stipko-ns-body { padding:var(--ns-padding); min-width:0; }
.stipko-ns-shell .stipko-ns-grid { display:grid; grid-template-columns:repeat(var(--ns-mobile),minmax(0,1fr)); gap:var(--ns-gap); padding:0; margin:0; }
/* Item inner padding applies on ALL four sides in ALL layouts, including bordered lists.
   Container padding surrounds the whole module; grid gap remains outside item borders. */
.stipko-ns-shell .stipko-ns-item { min-width:0; box-sizing:border-box; padding:var(--ns-row-padding); list-style:none; }
.stipko-ns-shell.stipko-ns-separators .stipko-ns-item { border-bottom:1px solid var(--bs-border-color,currentColor); }
.stipko-ns-shell.stipko-ns-layout-cards .stipko-ns-item,
.stipko-ns-shell.stipko-ns-layout-pills .stipko-ns-item { border-radius:var(--bs-border-radius,.375rem); }
.stipko-ns-shell.stipko-ns-layout-pills .stipko-ns-item { border-radius:1.25rem; }
.stipko-ns-shell .stipko-ns-main { display:flex; align-items:center; gap:1rem; min-width:0; }
.stipko-ns-shell .stipko-ns-main.stipko-ns-top { flex-direction:column; align-items:stretch; }
.stipko-ns-shell .stipko-ns-copy { display:block; flex:1 1 auto; min-width:0; }
.stipko-ns-shell .stipko-ns-title-line { display:flex; align-items:center; gap:.65rem; flex-wrap:wrap; min-width:0; }
.stipko-ns-shell .stipko-ns-title { flex:1 1 6rem; min-width:0; font-size:var(--ns-title-size); font-weight:var(--ns-title-weight); line-height:1.4; overflow-wrap:anywhere; }
.stipko-ns-shell .stipko-ns-main:hover .stipko-ns-title { text-decoration:underline; text-underline-offset:.15em; }
.stipko-ns-shell .stipko-ns-link-body { color:inherit; }
.stipko-ns-shell .stipko-ns-description { display:block; color:var(--bs-body-color,inherit); margin-top:.45rem; font-size:var(--ns-description-size); font-weight:var(--ns-description-weight); line-height:1.55; overflow-wrap:anywhere; }
.stipko-ns-shell .stipko-ns-badges { display:flex; align-items:center; flex-wrap:wrap; gap:.4rem; flex:0 1 auto; }
.stipko-ns-shell .stipko-ns-count { font-size:var(--ns-count-size); font-weight:var(--ns-count-weight); line-height:1.2; white-space:normal; }
.stipko-ns-shell .stipko-ns-new { font-size:max(10px,calc(var(--ns-count-size) - 1px)); }
.stipko-ns-shell .stipko-ns-icon { flex:none; font-size:var(--ns-icon-size); }
.stipko-ns-shell .stipko-ns-media { flex:0 0 auto; display:block; position:relative; width:min(var(--ns-thumb-size),40%); max-width:100%; aspect-ratio:1/1; overflow:hidden; }
.stipko-ns-shell .stipko-ns-top .stipko-ns-media { width:var(--ns-thumb-size); align-self:flex-start; }
.stipko-ns-shell .stipko-ns-top .stipko-ns-media-fill { width:100%; }
.stipko-ns-shell .stipko-ns-media img { display:block; position:absolute; inset:0; width:100%; height:100%; }
.stipko-ns-shell .stipko-ns-ratio-landscape { aspect-ratio:16/9; }
.stipko-ns-shell .stipko-ns-ratio-portrait { aspect-ratio:3/4; }
.stipko-ns-shell .stipko-ns-shape-rounded { border-radius:var(--bs-border-radius,.375rem); }
.stipko-ns-shell .stipko-ns-shape-circle { border-radius:50%; aspect-ratio:1/1; }
.stipko-ns-shell .stipko-ns-placeholder { display:flex; justify-content:center; align-items:center; background:var(--bs-secondary-bg,transparent); color:var(--bs-body-color,inherit); font-size:var(--ns-icon-size); font-weight:600; border:1px solid var(--bs-border-color,currentColor); }
.stipko-ns-shell .stipko-ns-latest,
.stipko-ns-shell .stipko-ns-updated { margin-top:.6rem; font-size:var(--ns-description-size); line-height:1.5; overflow-wrap:anywhere; }
.stipko-ns-shell .stipko-ns-latest-label { font-weight:600; }
.stipko-ns-shell .stipko-ns-updated { opacity:.85; }
.stipko-ns-shell.stipko-ns-background-transparent { background:transparent; }
.stipko-ns-shell.stipko-ns-background-subtle { background:var(--bs-secondary-bg,transparent); color:var(--bs-body-color,inherit); }
/* Outline-secondary is too faint in some dark publication themes; keep the toggle in the inherited readable text color. */
.stipko-ns-shell [data-ns-toggle] { color:inherit; border-color:currentColor; background:transparent; }
.stipko-ns-shell [data-ns-toggle]:hover { color:inherit; background:var(--bs-secondary-bg,transparent); }
.stipko-ns-shell [hidden] { display:none !important; }
.stipko-ns-shell a:focus-visible,
.stipko-ns-shell button:focus-visible { outline:2px solid currentColor; outline-offset:3px; border-radius:.2rem; }
@supports not (container-type:inline-size) {
    @media(min-width:768px) { .stipko-ns-shell .stipko-ns-grid { grid-template-columns:repeat(var(--ns-tablet),minmax(0,1fr)); } }
    @media(min-width:1200px) { .stipko-ns-shell .stipko-ns-grid { grid-template-columns:repeat(var(--ns-desktop),minmax(0,1fr)); } }
}
@container stipko-news-sections (min-width:560px) {
    .stipko-ns-shell .stipko-ns-grid { grid-template-columns:repeat(var(--ns-tablet),minmax(0,1fr)); }
}
@container stipko-news-sections (min-width:960px) {
    .stipko-ns-shell .stipko-ns-grid { grid-template-columns:repeat(var(--ns-desktop),minmax(0,1fr)); }
}
@media(forced-colors:active) { .stipko-ns-shell a { color:LinkText; } .stipko-ns-shell .badge { border:1px solid CanvasText; } }
