/* =========================================================================
 * Nordbaden Journal auf GeneratePress (29.10.2026)
 *
 * Richtung aus sachsen-portale/design/LAYOUT-REGISTER.md: "Zeitungs-Titelseite mit senkrechtem Spaltenraster"
 *   Kopf      Titelkopf ueber die volle Breite: Wortmarke in Caslon-Versalien mit Faecher-Vignette,
 *             Ausgabezeile zwischen fetter und feiner Linie, darunter das Register in den sechs Spalten
 *   Raster    sechs Spalten, durchgehende senkrechte Linien (Hintergrund des Blatts); mehrspaltige Bloecke
 *             haben weissen Grund und unterbrechen die Linien wie im Druck
 *   Meldungen Ortsmarke in Versalien am Textanfang, Text im Blocksatz mit Silbentrennung, keine Karten, keine Kaesten
 *   Anzeigen  Eckfelder und Fussanzeige, freie Flaechen schraffiert
 *   Fuss      Buntsandstein (farbig, nicht dunkel), Register im Raster
 *   Schrift   Libre Caslon Display und Text, Libre Franklin
 *   Farbe     Weiss, Tinte, Buntsandstein als einziger Akzent
 *
 * 1. Tokens  2. Grundgeruest und Raster  3. Titelkopf  4. Register  5. Meldungen  6. Titelseite
 * 7. Beitrag  8. Archiv, Suche, 404, Seiten  9. Veranstaltungen  10. Werbeplaetze  11. Fuss
 * ====================================================================== */

/* 1. Tokens ------------------------------------------------------------ */
:root {
	--nbj-tinte: #1c1a17;
	--nbj-text: #2b2824;
	--nbj-grau: #645d56;
	--nbj-linie: #d8d0c7;          /* senkrechte Spaltenlinien */
	--nbj-papier: #ffffff;
	--nbj-sand: #9a3f26;           /* Buntsandstein (Heidelberger Schloss, Karlsruher Pyramide, Nordschwarzwald) */
	--nbj-sand-dunkel: #7a2f1b;
	--nbj-fuss: #a2462b;           /* Fussflaeche */
	--nbj-fuss-text: #fff8f3;
	--nbj-schraffur: #e9d6cb;

	--nbj-display: "Caslon Display", "Caslon Ersatz", Georgia, "Times New Roman", serif;
	--nbj-serif: "Caslon Text", "Caslon Ersatz", Georgia, "Times New Roman", serif;
	--nbj-sans: "Franklin", "Franklin Ersatz", Arial, Helvetica, sans-serif;

	--nbj-spalten: 1;
	--nbj-gap: 24px;
	--nbj-rand: 16px;

	/* Werbeplaetze (MU-Plugin portale-werbung) */
	--pw-grund: transparent;
	--pw-rand: transparent;
	--pw-text: var(--nbj-tinte);
	--pw-akzent: var(--nbj-sand);
	--pw-kennung: var(--nbj-grau);
}
@media (min-width: 768px) {
	:root { --nbj-spalten: 2; --nbj-gap: 28px; --nbj-rand: 28px; }
}
@media (min-width: 1024px) {
	:root { --nbj-spalten: 6; --nbj-gap: 32px; --nbj-rand: 24px; }
}

/* 2. Grundgeruest und Raster -------------------------------------------- */
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	background: var(--nbj-papier);
	color: var(--nbj-text);
	font-family: var(--nbj-serif);
	font-size: 17px;
	line-height: 1.55;
	overflow-wrap: break-word;
}
a { color: var(--nbj-sand); }
a:hover, a:focus { color: var(--nbj-sand-dunkel); }
:focus-visible { outline: 2px solid var(--nbj-sand); outline-offset: 2px; }
img { max-width: 100%; height: auto; display: block; }
h1, h2, h3, h4 { font-family: var(--nbj-display); color: var(--nbj-tinte); font-weight: 400; }
h1 a, h2 a, h3 a, h4 a { color: inherit; text-decoration: none; }
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
details > summary { list-style: none; cursor: pointer; }
details > summary::-webkit-details-marker { display: none; }

/* GP-Huellen neutralisieren */
.site.grid-container, .site-content, .one-container .site-content { max-width: none; margin: 0; padding: 0; background: transparent; }
.one-container .container, .separate-containers .site-main { background: transparent; }
.site-main { margin: 0; }
.site-footer { background: transparent; }

/* Das Blatt: gleiche Breite fuer Kopf, Inhalt und Fuss, damit die Spaltenlinien uebereinander stehen */
.nbj-blatt {
	box-sizing: border-box;
	width: 100%;
	max-width: calc(1280px + 2 * var(--nbj-rand));
	margin: 0 auto;
	padding-left: var(--nbj-rand);
	padding-right: var(--nbj-rand);
}
.nbj-raster {
	display: grid;
	grid-template-columns: repeat(var(--nbj-spalten), minmax(0, 1fr));
	column-gap: var(--nbj-gap);
	row-gap: 26px;
}
/* Senkrechte Linien: je Spaltenfuge eine Haarlinie. Mobil (eine Spalte) liegt die Linie ausserhalb und bleibt unsichtbar. */
.nbj-raster, .nbj-register-spalten, .nbj-fuss-raster {
	--nbj-takt: calc((100% + var(--nbj-gap)) / var(--nbj-spalten));
	background-image: repeating-linear-gradient(to right,
		transparent 0 calc(var(--nbj-takt) - var(--nbj-gap) / 2 - .5px),
		var(--nbj-linie) 0 calc(var(--nbj-takt) - var(--nbj-gap) / 2 + .5px),
		transparent 0 var(--nbj-takt));
	background-origin: padding-box;
	background-clip: padding-box;
}
main.nbj-blatt { padding-bottom: 40px; }

.nbj-abschnitt { --nbj-o: 22px; --nbj-u: 28px; padding: var(--nbj-o) 0 var(--nbj-u); border-top: 1px solid var(--nbj-tinte); }
.nbj-abschnitt.nbj-titelseite { --nbj-o: 26px; border-top: 0; }
.nbj-abschnitt.nbj-reihe { --nbj-o: 20px; border-top-color: var(--nbj-linie); }
/* Mehrspaltige Bloecke decken die Linien auch im Abstand ueber und unter sich ab (wie ein Block im Umbruch) */
@media (min-width: 768px) {
	.nbj-abschnitt > .nbj-doppel, .nbj-abschnitt > .nbj-eckfeld, .nbj-abschnitt > .nbj-fussanzeige {
		margin-top: calc(-1 * var(--nbj-o)); padding-top: var(--nbj-o);
		margin-bottom: calc(-1 * var(--nbj-u)); padding-bottom: var(--nbj-u);
	}
	.nbj-titelseite > .nbj-aufmacher > .nbj-dach { margin-top: calc(-1 * var(--nbj-o)); padding-top: var(--nbj-o); }
}
.nbj-abschnitt.nbj-ressort, .nbj-abschnitt.nbj-kalender { border-top-width: 2px; }

/* 3. Titelkopf ---------------------------------------------------------- */
.nbj-kopf { background: var(--nbj-papier); }
.nbj-titelkopf { text-align: center; padding: 18px 0 12px; }
.nbj-marke { margin: 0; font-family: var(--nbj-display); font-weight: 400; line-height: 1; color: var(--nbj-tinte); }
.nbj-marke a {
	display: inline-flex; align-items: center; justify-content: center; gap: .32em;
	color: inherit; text-decoration: none;
	font-size: clamp(22px, 6.3vw, 76px);
	letter-spacing: .07em; text-transform: uppercase;
}
.nbj-marke a:hover { text-decoration: none; color: var(--nbj-tinte); }
.nbj-marke-b { margin-right: -.07em; } /* Sperrung am Wortende ausgleichen */
.nbj-faecher { display: block; flex: none; width: .9em; height: auto; color: var(--nbj-sand); margin-top: -.08em; }

.nbj-ausgabe {
	position: relative;
	display: flex; flex-wrap: wrap; justify-content: center; column-gap: 14px;
	margin-top: 12px; padding: 7px 0 6px;
	border-top: 2px solid var(--nbj-tinte); border-bottom: 1px solid var(--nbj-tinte);
	font-family: var(--nbj-sans); font-size: 12.5px; line-height: 1.35; letter-spacing: .02em; color: var(--nbj-tinte);
}
.nbj-ausgabe p { margin: 0; }
.nbj-ausgabe-nr::before { content: "·"; margin-right: 14px; }
.nbj-ausgabe-sonne { flex-basis: 100%; text-align: center; color: var(--nbj-grau); }

@media (min-width: 768px) {
	.nbj-titelkopf { padding: 26px 0 16px; }
	.nbj-ausgabe { justify-content: space-between; font-size: 13px; padding: 8px 0 7px; margin-top: 16px; }
	.nbj-ausgabe-nr::before { display: none; }
	.nbj-ausgabe-sonne { flex-basis: auto; color: var(--nbj-tinte); }
	.nbj-ausgabe-datum, .nbj-ausgabe-sonne { flex: 1 1 0; }
	.nbj-ausgabe-sonne { text-align: right; }
	.nbj-ausgabe-datum { text-align: left; }
}
@media (min-width: 1024px) {
	.nbj-titelkopf { padding: 30px 0 18px; }
	/* Unterseiten: kleinerer Titelkopf, Register bleibt gleich */
	.nbj-kopf:not(.nbj-kopf--titel) .nbj-titelkopf { padding: 20px 0 10px; }
	.nbj-kopf:not(.nbj-kopf--titel) .nbj-marke a { font-size: 50px; }
}

/* 4. Register ----------------------------------------------------------- */
/* Desktop: sechs Spalten des Blatts. Handy und Tablet: dieselben Spalten offen nebeneinander, waagerecht zu wischen. */
.nbj-register { font-family: var(--nbj-sans); border-bottom: 2px solid var(--nbj-tinte); }
.nbj-register ul { list-style: none; margin: 0; padding: 0; }
.nbj-register-spalten {
	position: relative;
	display: grid; grid-auto-flow: column; grid-auto-columns: minmax(150px, 42%);
	overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: thin;
	padding: 10px 0 12px;
}
.nbj-reg-zelle { scroll-snap-align: start; min-width: 0; padding: 0 14px; }
.nbj-reg-zelle:first-child { padding-left: 0; }
.nbj-reg-zelle + .nbj-reg-zelle { border-left: 1px solid var(--nbj-linie); }
.nbj-reg-themen { grid-column: span 1; min-width: 270px; }
.nbj-reg-themen ul { columns: 2; column-gap: 18px; }
.nbj-reg-kopf {
	display: block; margin: 0 0 4px;
	font-size: 11.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; line-height: 1.3;
	color: var(--nbj-tinte); text-decoration: none;
}
a.nbj-reg-kopf:hover, .nbj-register [aria-current="page"].nbj-reg-kopf { color: var(--nbj-sand); }
.nbj-register li a { display: inline-block; padding: 5px 0; font-size: 14.5px; line-height: 1.35; color: var(--nbj-text); text-decoration: none; }
.nbj-register li a:hover, .nbj-register li a[aria-current="page"] { color: var(--nbj-sand); text-decoration: underline; text-underline-offset: 3px; }
.nbj-reg-dienst .nbj-suche { margin: 6px 0 0; }
@media (min-width: 1024px) {
	.nbj-register-spalten {
		grid-auto-flow: row; grid-template-columns: repeat(6, minmax(0, 1fr)); grid-auto-columns: auto;
		column-gap: var(--nbj-gap); overflow: visible; padding: 12px 0 14px;
	}
	.nbj-reg-zelle, .nbj-reg-zelle:first-child { padding: 0; }
	.nbj-reg-zelle + .nbj-reg-zelle { border-left: 0; }
	.nbj-register li a { padding: 2px 0; }
	.nbj-reg-themen { grid-column: span 2; min-width: 0; }
	.nbj-reg-themen ul { column-gap: var(--nbj-gap); }
}

/* Suchfeld */
.nbj-suche { display: flex; align-items: stretch; max-width: 420px; border-bottom: 1px solid var(--nbj-tinte); }
.nbj-suche input[type="search"] {
	flex: 1; min-width: 0; height: 32px; padding: 0 2px; border: 0; border-radius: 0; background: transparent;
	font-family: var(--nbj-sans); font-size: 14.5px; color: var(--nbj-tinte);
}
.nbj-suche input::placeholder { color: var(--nbj-grau); opacity: 1; }
.nbj-suche button { flex: none; width: 34px; padding: 0; border: 0; background: transparent; color: var(--nbj-tinte); cursor: pointer; display: grid; place-items: center; }
.nbj-suche button:hover { color: var(--nbj-sand); background: transparent; }

/* 5. Meldungen ---------------------------------------------------------- */
.nbj-dach {
	margin: 0 0 6px;
	font-family: var(--nbj-sans); font-size: 11.5px; font-weight: 700; line-height: 1.3; letter-spacing: .08em; text-transform: uppercase;
	color: var(--nbj-sand);
}
.nbj-dach a { color: inherit; text-decoration: none; }
.nbj-dach a:hover { text-decoration: underline; }
.nbj-ortsmarke, .bp-ortsmarke {
	font-family: var(--nbj-sans); font-weight: 700; font-size: .78em; letter-spacing: .06em; text-transform: uppercase; color: var(--nbj-tinte);
}
.nbj-text {
	margin: 0; font-family: var(--nbj-serif); font-size: 15.5px; line-height: 1.5; color: var(--nbj-text);
	hyphens: auto; -webkit-hyphens: auto;
}
.nbj-meta { margin: 8px 0 0; font-family: var(--nbj-sans); font-size: 12.5px; line-height: 1.3; color: var(--nbj-grau); }
.nbj-bild { display: block; margin: 0 0 12px; background: #eee8e1; }
.nbj-bild img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }

.nbj-einzel { min-width: 0; }
.nbj-einzel-titel { margin: 0 0 8px; font-family: var(--nbj-serif); font-size: 20px; line-height: 1.2; hyphens: auto; -webkit-hyphens: auto; }
.nbj-doppel { min-width: 0; background: var(--nbj-papier); }
.nbj-doppel-titel { margin: 0 0 10px; font-size: 28px; line-height: 1.12; }
.nbj-doppel .nbj-text { font-size: 16.5px; }

/* Handy: Aufmacher-Text gekuerzt, Kurzmeldungen der Titelseite nur mit Schlagzeile */
@media (max-width: 767px) {
	.nbj-ressort-kreise { display: none !important; }
	.nbj-reihe > article:nth-of-type(n+4) { display: none; }
	.nbj-doppel .nbj-bild img { aspect-ratio: 16 / 9; }
	.nbj-kalender > .nbj-kalender-tag:nth-of-type(n+3) { display: none; }
	.nbj-start .nbj-ressort .nbj-einzel--bild .nbj-bild { display: none; }
	.nbj-start .nbj-ressort .nbj-einzel--bild { display: block; }
	.nbj-reihe .nbj-einzel-titel { font-size: 19px; margin-bottom: 4px; }
}
/* Mobil: Meldungen untereinander, getrennt durch feine Linien */
@media (max-width: 1023px) {
	.nbj-raster > .nbj-einzel, .nbj-raster > .nbj-doppel, .nbj-liste > .nbj-einzel, .nbj-liste > .nbj-doppel,
	.nbj-kalender-tag, .nbj-raster > .nbj-termin, .nbj-eckfeld {
		padding-top: 16px; border-top: 1px solid var(--nbj-linie);
	}
}
@media (max-width: 767px) {
	.nbj-raster { row-gap: 16px; }
	.nbj-einzel--bild { display: grid; grid-template-columns: minmax(0, 1fr) 112px; column-gap: 14px; }
	.nbj-einzel--bild > * { grid-column: 1; }
	.nbj-einzel--bild > .nbj-bild { grid-column: 2; grid-row: 1 / span 4; margin: 0; align-self: start; }
	.nbj-doppel-titel { font-size: 25px; }
}

/* Ressortkopf in Spalte 1 */
.nbj-ressortkopf { min-width: 0; }
.nbj-ressort-titel { margin: 0 0 10px; font-size: 25px; line-height: 1.1; }
.nbj-ressort-kreise { list-style: none; margin: 0; padding: 0; font-family: var(--nbj-sans); }
.nbj-ressort-kreise a { display: inline-block; padding: 3px 0; font-size: 14.5px; color: var(--nbj-text); text-decoration: none; }
.nbj-ressort-kreise a:hover { color: var(--nbj-sand); text-decoration: underline; text-underline-offset: 3px; }
.nbj-ressort-alle { margin: 12px 0 0; font-family: var(--nbj-sans); font-size: 13.5px; font-weight: 600; }
.nbj-ressort-alle a { text-decoration: none; border-bottom: 1px solid currentColor; }
@media (max-width: 1023px) {
	.nbj-ressortkopf { grid-column: 1 / -1; }
	.nbj-ressort-kreise { display: flex; flex-wrap: wrap; column-gap: 16px; }
	.nbj-ressort-kreise a { padding: 6px 0; }
}

/* 6. Titelseite --------------------------------------------------------- */
.nbj-aufmacher { min-width: 0; }
.nbj-aufmacher > .nbj-dach { margin: 0; padding-bottom: 8px; background: var(--nbj-papier); }
.nbj-aufmacher-titel {
	margin: 0; padding-bottom: 14px; background: var(--nbj-papier);
	font-size: clamp(32px, 4.2vw, 56px); line-height: 1.04; letter-spacing: -.005em;
}
.nbj-vorspann {
	margin: 0; padding-bottom: 4px; background: var(--nbj-papier);
	font-family: var(--nbj-serif); font-style: italic; font-size: 20px; line-height: 1.42; color: var(--nbj-tinte);
}
.nbj-fliess { padding-top: 18px; columns: 1; column-gap: var(--nbj-gap); font-size: 16px; line-height: 1.55; hyphens: auto; -webkit-hyphens: auto; }
.nbj-fliess p { margin: 0; }
.nbj-weiter { margin-top: 10px !important; font-family: var(--nbj-sans); font-size: 13px; color: var(--nbj-grau); break-inside: avoid; text-align: left !important; }
.nbj-weiter a { font-weight: 700; margin-right: 8px; }
.nbj-zweit .nbj-doppel-titel { font-size: 30px; }
@media (min-width: 768px) {
	.nbj-titelseite > * { grid-column: 1 / -1; }
	.nbj-fliess { columns: 2; }
}
@media (min-width: 1024px) {
	.nbj-titelseite > .nbj-aufmacher { grid-column: 1 / span 4; }
	.nbj-titelseite > .nbj-zweit { grid-column: 5 / span 2; }
	.nbj-fliess { columns: 4; }
	.nbj-reihe .nbj-einzel-titel { font-size: 18.5px; }
	.nbj-ressort > .nbj-ressortkopf, .nbj-kalender > .nbj-ressortkopf, .nbj-pv-woche > .nbj-ressortkopf { grid-column: 1; }
	.nbj-ressort > .nbj-doppel, .nbj-eckfeld, .nbj-breit-2 { grid-column: span 2; }
	.nbj-raster > .nbj-breit-1 { grid-column: span 1; }
	.nbj-raster > .nbj-breit-3 { grid-column: span 3; }
	.nbj-raster > .nbj-breit-4 { grid-column: span 4; }
	.nbj-raster > .nbj-breit-5 { grid-column: span 5; }
}
@media (min-width: 768px) and (max-width: 1023px) {
	.nbj-eckfeld { grid-column: span 1; }
	.nbj-raster > .nbj-breit-3, .nbj-raster > .nbj-breit-4, .nbj-raster > .nbj-breit-5 { grid-column: 1 / -1; }
}

/* 7. Beitrag ------------------------------------------------------------ */
.nbj-beitrag { padding: 22px 0 34px; }
.nbj-beitrag-kopf { grid-column: 1 / -1; background: var(--nbj-papier); }
.nbj-brotkrumen p { margin: 0 0 14px; font-family: var(--nbj-sans); font-size: 13px; color: var(--nbj-grau); }
.nbj-brotkrumen a { color: var(--nbj-grau); }
.nbj-beitrag-titel { margin: 0 0 6px; font-size: clamp(31px, 4.4vw, 54px); line-height: 1.06; max-width: 22em; }
.nbj-marginal { min-width: 0; font-family: var(--nbj-sans); font-size: 14px; line-height: 1.4; }
.nbj-marginal dl { margin: 0; display: flex; flex-wrap: wrap; column-gap: 22px; row-gap: 8px; }
.nbj-marginal dt { margin: 0; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--nbj-grau); }
.nbj-marginal dd { margin: 1px 0 0; color: var(--nbj-tinte); }
.nbj-marginal a { color: var(--nbj-tinte); }
.nbj-marginal-link { margin: 12px 0 0; font-weight: 600; }
.nbj-marginal-link a { color: var(--nbj-sand); }
.nbj-beitrag-text { min-width: 0; font-family: var(--nbj-serif); font-size: 18.5px; line-height: 1.62; color: var(--nbj-text); background: var(--nbj-papier); hyphens: auto; -webkit-hyphens: auto; }
.nbj-beitrag-text > p:first-child { font-size: 20px; line-height: 1.5; }
.nbj-beitrag-text p { margin: 0 0 1em; }
.nbj-beitrag-text h2 { margin: 1.4em 0 .45em; font-size: 27px; line-height: 1.18; }
.nbj-beitrag-text h3 { margin: 1.2em 0 .4em; font-size: 22px; }
.nbj-beitrag-text ul, .nbj-beitrag-text ol { margin: 0 0 1em 1.2em; padding: 0; }
.nbj-beitrag-text .pw-platz { margin: 10px 0 28px; }
.nbj-beitragsbild { margin: 0; min-width: 0; background: var(--nbj-papier); }
.nbj-beitragsbild img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.nbj-beitragsbild figcaption { margin-top: 8px; font-family: var(--nbj-sans); font-size: 12.5px; line-height: 1.45; color: var(--nbj-grau); }
.nbj-beitragsbild figcaption a { color: var(--nbj-grau); }
.bp-bildnachweis { display: block; margin-top: 3px; }
.nbj-beitrag-orte { margin: 18px 0 0; font-family: var(--nbj-sans); font-size: 14.5px; color: var(--nbj-grau); }
/* Quellenkasten (MU-Plugin core): kein Kasten, eine Rubrik unter fetter Linie */
.nbj-beitrag-text .bp-quellen, .nbj-beitrag-text .pv-quelle {
	margin: 2em 0 0; padding: 12px 0 0; border: 0; border-top: 2px solid var(--nbj-tinte); background: none; opacity: 1;
	font-family: var(--nbj-sans); font-size: 14px; line-height: 1.5; color: var(--nbj-grau); hyphens: manual;
}
.nbj-beitrag-text .bp-quellen > div + div, .nbj-beitrag-text .pv-quelle > * + * { margin-top: 8px; }
.nbj-beitrag-text .bp-ki-hinweis { font-style: normal; }
.nbj-beitrag-text .bp-bevorzugt { margin: 1.6em 0 0; font-family: var(--nbj-sans); font-size: 15px; }
@media (max-width: 1023px) {
	.nbj-beitrag > * { grid-column: 1 / -1; }
	.nbj-beitrag-kopf { order: -2; }
	.nbj-bildspalte { display: contents; }
	.nbj-beitragsbild { order: -1; }
	.nbj-marginal { padding: 10px 0; border-top: 1px solid var(--nbj-tinte); border-bottom: 1px solid var(--nbj-linie); }
}
@media (min-width: 1024px) {
	.nbj-beitrag { row-gap: 22px; }
	.nbj-beitrag-kopf { grid-column: 1 / -1; padding-bottom: 4px; }
	.nbj-marginal { grid-column: 1; grid-row: 2 / span 2; padding-top: 4px; border-top: 2px solid var(--nbj-tinte); }
	.nbj-marginal dl { display: block; }
	.nbj-marginal dl > div { padding: 6px 0 8px; }
	.nbj-beitrag-text { grid-column: 2 / span 3; grid-row: 2 / span 2; }
	.nbj-bildspalte { grid-column: 5 / span 2; grid-row: 2 / span 2; background: var(--nbj-papier); margin-bottom: -34px; padding-bottom: 34px; }
	.nbj-anzeige--bildspalte { position: sticky; top: 24px; margin-top: 30px; }
}

/* 8. Archiv, Suche, 404, Seiten ----------------------------------------- */
.nbj-archiv-kopf { padding: 24px 0 20px; background: var(--nbj-papier); }
.nbj-archiv-titel { margin: 0; font-size: clamp(30px, 4vw, 52px); line-height: 1.06; }
.nbj-archiv-beschreibung { max-width: 46em; margin-top: 10px; font-size: 17px; color: var(--nbj-text); }
.nbj-archiv-beschreibung p { margin: 0; }
.nbj-archiv-kopf > p { max-width: 40em; }
.nbj-archiv-kopf .nbj-suche { margin-top: 14px; }
.nbj-archiv-raster { padding-top: 20px; border-top: 2px solid var(--nbj-tinte); }
.nbj-archiv-register { min-width: 0; font-family: var(--nbj-sans); }
.nbj-archiv-register-titel { margin: 0 0 8px; font-size: 11.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--nbj-tinte); }
.nbj-archiv-register ul { list-style: none; margin: 0; padding: 0; }
.nbj-archiv-register a { display: inline-block; padding: 3px 0; font-size: 14.5px; color: var(--nbj-text); text-decoration: none; }
.nbj-archiv-register a:hover, .nbj-archiv-register a[aria-current="page"] { color: var(--nbj-sand); text-decoration: underline; text-underline-offset: 3px; }
.nbj-liste { display: grid; grid-template-columns: repeat(var(--nbj-spalten), minmax(0, 1fr)); column-gap: var(--nbj-gap); row-gap: 28px; align-content: start; min-width: 0; }
.nbj-liste > .nbj-anzeige--liste { grid-column: 1 / -1; }
.nbj-liste-fuss { min-width: 0; }
.nbj-leer { margin: 0; font-size: 17px; color: var(--nbj-grau); }
@media (max-width: 1023px) {
	.nbj-archiv-register { grid-column: 1 / -1; order: 2; padding-top: 14px; border-top: 1px solid var(--nbj-tinte); }
	.nbj-archiv-register ul { columns: 2; column-gap: var(--nbj-gap); }
	.nbj-archiv-register a { padding: 7px 0; }
	.nbj-liste, .nbj-liste-fuss { grid-column: 1 / -1; }
	.nbj-liste > .nbj-doppel { grid-column: 1 / -1; }
}
@media (min-width: 1024px) {
	.nbj-archiv-register { grid-column: 1; grid-row: 1 / span 2; }
	.nbj-liste, .nbj-liste-fuss { grid-column: 2 / -1; }
	.nbj-liste { grid-template-columns: repeat(5, minmax(0, 1fr)); }
	.nbj-liste > .nbj-doppel { grid-column: span 2; }
}
/* Seitenzahlen */
.nbj-liste-fuss .pagination, .nbj-liste-fuss .navigation { margin: 28px 0 0; font-family: var(--nbj-sans); }
.nbj-liste-fuss .nav-links { display: flex; flex-wrap: wrap; gap: 6px 18px; align-items: center; padding-top: 12px; border-top: 1px solid var(--nbj-tinte); }
.nbj-liste-fuss .page-numbers { font-size: 15px; color: var(--nbj-tinte); text-decoration: none; padding: 6px 2px; }
.nbj-liste-fuss .page-numbers.current { color: var(--nbj-sand); font-weight: 700; }
/* Seiten (Impressum usw.) im GP-Seitentemplate */
.page .site-main { box-sizing: border-box; max-width: calc(1280px + 2 * var(--nbj-rand)); margin: 0 auto; padding: 26px var(--nbj-rand) 48px; }
.page .inside-article { max-width: 720px; padding: 0; }
.page .entry-title { margin: 0 0 18px; font-size: clamp(30px, 4vw, 46px); line-height: 1.08; }
.page .entry-content { font-size: 18px; line-height: 1.6; }
.page .entry-content h2 { margin: 1.4em 0 .45em; font-size: 26px; line-height: 1.2; }

/* 9. Veranstaltungen ---------------------------------------------------- */
.nbj-termin { min-width: 0; }
.nbj-termin-zeit { margin: 0 0 4px; font-family: var(--nbj-sans); font-size: 12.5px; font-weight: 700; letter-spacing: .03em; color: var(--nbj-sand); }
.nbj-termin-zeit strong { color: var(--nbj-tinte); }
.nbj-termin--abgesagt .nbj-termin-titel { text-decoration: line-through; }
.nbj-termin-titel { margin: 0 0 6px; font-family: var(--nbj-serif); font-size: 18px; line-height: 1.22; }
.nbj-termin-ort { margin: 0; font-size: 15px; line-height: 1.45; color: var(--nbj-text); }
.nbj-kalender-tag { min-width: 0; }
.nbj-kalender-tag-titel { margin: 0 0 8px; font-family: var(--nbj-sans); font-size: 12px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.nbj-kalender-tag .nbj-termin + .nbj-termin { margin-top: 16px; }
.nbj-pv-filter { margin-top: 16px; font-family: var(--nbj-sans); }
.nbj-pv-filter ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--nbj-tinte); border-bottom: 1px solid var(--nbj-tinte); }
.nbj-pv-filter li:nth-child(2n) { padding-left: 12px; }
.nbj-pv-filter a { display: block; padding: 10px 0; font-size: 14.5px; color: var(--nbj-tinte); text-decoration: none; }
.nbj-pv-filter a[aria-current="page"] { color: var(--nbj-sand); font-weight: 700; }
.nbj-pv-filter a:hover { color: var(--nbj-sand); }
.nbj-pv-tag-liste { display: grid; grid-template-columns: repeat(var(--nbj-spalten), minmax(0, 1fr)); column-gap: var(--nbj-gap); row-gap: 20px; min-width: 0; }
.nbj-pv-schluss-text { background: var(--nbj-papier); }
.nbj-pv-einsenden { font-family: var(--nbj-sans); font-size: 15px; color: var(--nbj-grau); }
.nbj-pv-schluss { padding-top: 18px; border-top: 1px solid var(--nbj-tinte); }
.nbj-pv-anzeige { padding: 18px 0 24px; }
.pv-hinweis, .pv-hinweise { margin: 10px 0 0; font-family: var(--nbj-sans); font-size: 15px; color: var(--nbj-sand-dunkel); font-weight: 600; }
@media (max-width: 1023px) {
	.nbj-pv-tag-liste, .nbj-pv-schluss-text, .nbj-pv-anzeige > * { grid-column: 1 / -1; }
}
@media (min-width: 1024px) {
	.nbj-pv-filter ul { grid-template-columns: repeat(6, minmax(0, 1fr)); column-gap: var(--nbj-gap); }
	.nbj-pv-filter li:nth-child(2n) { padding-left: 0; }
	.nbj-pv-tag-liste { grid-column: 2 / -1; grid-template-columns: repeat(5, minmax(0, 1fr)); }
	.nbj-pv-schluss-text { grid-column: 2 / span 3; }
	.nbj-pv-anzeige > * { grid-column: 2 / -1; }
	.nbj-kalender-reihe > .nbj-termin { grid-column: span 1; }
}

/* 10. Werbeplaetze ------------------------------------------------------ */
/* Freie Flaeche: schraffiert wie ein Anzeigenfeld im Satzspiegel, Text auf weissem Grund in der Mitte */
.nbj-anzeige { min-width: 0; }
.nbj-anzeige .pw-platz { margin: 0 auto; }
.pw-platz .pw-kennung { height: 20px; line-height: 20px; font-family: var(--nbj-sans); font-size: 10.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; text-align: left; color: var(--nbj-grau); }
.pw-platzhalter {
	border: 0 !important;
	background: repeating-linear-gradient(135deg, var(--nbj-schraffur) 0 1px, transparent 1px 8px) !important;
	box-shadow: inset 0 0 0 1px var(--nbj-schraffur);
	gap: 2px !important;
}
.pw-platzhalter .pw-titel { display: none; }
.pw-platzhalter::before {
	content: "Anzeigenraum zu vergeben";
	padding: 6px 12px 2px; background: var(--nbj-papier);
	font-family: var(--nbj-display); font-size: 21px; line-height: 1.15; color: var(--nbj-tinte); text-align: center;
}
.pw-platzhalter .pw-mail { padding: 0 12px; background: var(--nbj-papier); font-family: var(--nbj-sans); font-size: 14px; font-weight: 600; color: var(--nbj-sand); overflow-wrap: anywhere; }
.pw-platzhalter .pw-format { padding: 2px 12px 6px; background: var(--nbj-papier); font-family: var(--nbj-sans); font-size: 12.5px; opacity: 1; color: var(--nbj-grau); font-variant-numeric: tabular-nums; }
.pw-platzhalter:hover::before { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
@media (min-width: 768px) {
	.pw-quer .pw-platzhalter { flex-direction: row !important; flex-wrap: wrap; align-items: center !important; column-gap: 0 !important; }
	.pw-quer .pw-platzhalter::before, .pw-quer .pw-platzhalter .pw-mail, .pw-quer .pw-platzhalter .pw-format { padding-top: 8px; padding-bottom: 8px; }
}
/* Eckfeld: oben eine Meldung, unten die Anzeige in der Ecke, buendig an der aeusseren Spaltenlinie und an der Reihenkante */
.nbj-eckfeld { min-width: 0; background: var(--nbj-papier); display: flex; flex-direction: column; gap: 20px; }
.nbj-eckfeld-anzeige { margin-top: auto; }
.nbj-eckfeld-anzeige .pw-platz { margin: 0; }
.nbj-eckfeld--rechts .nbj-eckfeld-anzeige .pw-platz { margin-left: auto; }
@media (min-width: 768px) {
	.nbj-abschnitt > .nbj-eckfeld { padding-bottom: 0; }
}
/* Fussanzeige: schliesst die letzte Reihe ab, ueber Spalte 2 bis 6, Etikett in Spalte 1 */
.nbj-fuss-etikett { display: none; margin: 0; font-family: var(--nbj-sans); font-size: 10.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--nbj-grau); }
.nbj-fussanzeige { grid-column: 1 / -1; background: var(--nbj-papier); }
.nbj-fussanzeige .pw-platz { max-width: none; width: 100%; }
@media (min-width: 768px) {
	.nbj-fussanzeige .pw-platz { max-width: var(--pw-b); }
}
@media (min-width: 1024px) {
	.nbj-fuss-etikett { display: block; grid-column: 1; align-self: end; padding-bottom: 4px; }
	.nbj-fussanzeige { grid-column: 2 / -1; }
	.nbj-fussanzeige .pw-platz { max-width: none; }
	.nbj-fussanzeige .pw-kennung { display: none; }
	.nbj-abschnitt > .nbj-fussanzeige { padding-bottom: 0; padding-top: 0; margin-top: 0; }
}
.nbj-anzeige--liste { background: var(--nbj-papier); padding: 4px 0; }
.nbj-anzeige--ende { margin-top: 30px; background: var(--nbj-papier); }
@media (max-width: 1023px) {
	.nbj-eckfeld { grid-column: 1 / -1; padding: 6px 0; }
	.nbj-anzeige--bildspalte { order: 5; }
}

/* 11. Fuss: Kolophon ---------------------------------------------------- */
.nbj-fuss { background: var(--nbj-fuss); color: var(--nbj-fuss-text); font-family: var(--nbj-sans); }
.nbj-fuss a { color: var(--nbj-fuss-text); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.nbj-fuss a:hover { text-decoration-thickness: 2px; }
.nbj-fuss-raster {
	--nbj-linie: rgba(255, 248, 243, .32);
	display: grid; grid-template-columns: repeat(var(--nbj-spalten), minmax(0, 1fr)); column-gap: var(--nbj-gap); row-gap: 22px;
	padding: 30px 0 0;
}
.nbj-fuss-name { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; margin: 0; font-family: var(--nbj-display); font-size: 23px; letter-spacing: .07em; text-transform: uppercase; line-height: 1.12; }
.nbj-faecher--fuss { width: 52px; color: var(--nbj-fuss-text); }
.nbj-kolophon { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--nbj-gap); row-gap: 14px; }
.nbj-kolophon dt { margin: 0; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; opacity: .85; }
.nbj-kolophon dd { margin: 3px 0 0; font-family: var(--nbj-serif); font-size: 15.5px; line-height: 1.4; overflow-wrap: anywhere; }
.nbj-fuss-zeile { grid-column: 1 / -1; margin: 0; padding: 12px 0 22px; border-top: 1px solid rgba(255, 248, 243, .45); font-size: 13px; line-height: 1.9; background: var(--nbj-fuss); }
.nbj-fuss-zeile a { white-space: nowrap; }
@media (min-width: 768px) {
	.nbj-fuss-name { grid-column: 1 / -1; flex-direction: row; align-items: center; }
	.nbj-kolophon { grid-column: 1 / -1; }
}
@media (min-width: 1024px) {
	.nbj-fuss-name { grid-column: 1; flex-direction: column; align-items: flex-start; }
	.nbj-kolophon { grid-column: 2 / -1; grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

/* Spaltenlinien im Register nur auf dem Desktop (mobil sind es wischbare Spalten mit eigenen Trennern) */
@media (max-width: 1023px) {
	.nbj-register-spalten { background-image: none; }
}

/* Wochenblatt: ein Tag, der mehrere Spalten fuellt, unterbricht die Spaltenlinien wie ein mehrspaltiger Block */
.nbj-pv-woche > .nbj-kalender-tag:not(.nbj-breit-1) { background: var(--nbj-papier); }
.nbj-pv-zeitraum { margin: 4px 0 0; font-family: var(--nbj-serif); font-size: 15px; line-height: 1.4; color: var(--nbj-grau); }
@media (min-width: 768px) {
	.nbj-pv-woche > .nbj-kalender-tag:not(.nbj-breit-1) { margin-top: calc(-1 * var(--nbj-o)); padding-top: var(--nbj-o); margin-bottom: calc(-1 * var(--nbj-u)); padding-bottom: var(--nbj-u); }
}

/* GP setzt 20 px Abstand unter jedes Kind von .site-main; dort stuenden Spaltenlinien als Stummel ueber den Reihenlinien */
main.nbj-blatt > *, .nbj-beitrag > *, .nbj-archiv-raster > * { margin-bottom: 0; }

/* Runde 3: Breiten auch in den Listen, Eckfeld am Listenende, Band und Bildspalte im Raster */
@media (min-width: 1024px) {
	.nbj-liste > .nbj-breit-1 { grid-column: span 1; }
	.nbj-liste > .nbj-breit-2 { grid-column: span 2; }
	.nbj-liste > .nbj-breit-3 { grid-column: span 3; }
	.nbj-liste > .nbj-breit-4 { grid-column: span 4; }
	.nbj-liste > .nbj-breit-5 { grid-column: span 5; }
	.nbj-liste > .nbj-anzeige--liste { grid-column: 1 / -1; }
}
.nbj-anzeige--liste .pw-platz, .nbj-anzeige--band .pw-platz { max-width: none; width: 100%; }
@media (min-width: 768px) {
	.nbj-anzeige--liste .pw-platz, .nbj-anzeige--band .pw-platz { max-width: var(--pw-b); }
}
@media (min-width: 1024px) {
	.nbj-anzeige--liste .pw-platz, .nbj-anzeige--band .pw-platz { max-width: none; }
}
.nbj-eckfeld--liste { justify-content: flex-end; }
.nbj-eckfeld--liste .nbj-eckfeld-anzeige { margin-top: auto; }
/* Eckfeld bleibt buendig an der aeusseren Spaltenlinie (Bildspalte, Listenende, Kalender) */
.nbj-anzeige--bildspalte .pw-platz, .nbj-eckfeld--rechts .nbj-eckfeld-anzeige .pw-platz, .nbj-kalender-eck .pw-platz { margin-left: auto; margin-right: 0; }
.nbj-anzeige--liste, .nbj-anzeige--bildspalte { background: var(--nbj-papier); }
/* Handy: Eckfelder linksbuendig, wie Pforzheim */
@media (max-width: 767px) {
	.nbj-eckfeld--rechts .nbj-eckfeld-anzeige .pw-platz, .nbj-eckfeld--liste .pw-platz, .nbj-kalender-eck .pw-platz, .nbj-anzeige--bildspalte .pw-platz { margin-left: 0; margin-right: auto; }
}
/* Handy-Register: Bezirkskoepfe enger, damit „Nordschwarzwald“ nur an der weichen Trennstelle bricht */
@media (max-width: 1023px) {
	.nbj-reg-kopf { letter-spacing: .04em; font-size: 11px; hyphens: manual; -webkit-hyphens: manual; }
}
/* Kalender: Eckfeld in der breiten Zelle des letzten Tags einer Woche */
.nbj-kalender-tag { display: flex; flex-direction: column; }
.nbj-kalender-eck { margin-top: auto; padding-top: 20px; }
@media (min-width: 1024px) {
	.nbj-pv-anzeige > .nbj-anzeige--band { grid-column: 2 / -1; }
	.nbj-pv-anzeige > .nbj-anzeige--band .pw-kennung { display: none; }
}
/* Keine Zeilenabstaende zwischen Rasterzellen, in denen Spaltenlinien als Stummel stehen bleiben koennten:
   der Abstand liegt als Innenabstand in den Zellen, weisse Bloecke decken ihn mit ab */
@media (min-width: 1024px) {
	.nbj-liste { row-gap: 0; }
	.nbj-liste > * { padding-bottom: 28px; }
	.nbj-archiv-raster { padding-top: 0; }
	.nbj-archiv-raster > .nbj-archiv-register, .nbj-liste > * { padding-top: 20px; }
	.nbj-liste > .nbj-anzeige--liste { padding-top: 20px; padding-bottom: 28px; }
	.nbj-beitrag { row-gap: 0; }
	.nbj-beitrag-kopf { padding-bottom: 22px; }
	.nbj-pv-anzeige { padding: 0; }
	.nbj-pv-anzeige > * { padding: 18px 0 24px; }
}

/* Runde 4: Spaltenlinien nur noch in den Rasterbloecken (nicht mehr im ganzen Blatt). Jede Linie beginnt an einer
   Reihenlinie und endet an einer Reihenlinie oder an einem Block; Abstaende liegen in den weissen Bloecken. */
main.nbj-blatt > :last-child { border-bottom: 1px solid var(--nbj-tinte); }
.nbj-beitrag-text, .nbj-pv-schluss-text, .nbj-archiv-kopf, .nbj-beitrag-kopf { display: flow-root; }
@media (min-width: 1024px) {
	.nbj-beitrag { padding: 0; }
	.nbj-beitrag-kopf { padding-top: 22px; }
	.nbj-beitrag-text { padding-bottom: 34px; }
	.nbj-marginal { margin-bottom: 0; }
	.nbj-bildspalte { margin-bottom: 0; padding-bottom: 34px; }
	.nbj-pv-schluss { padding-top: 0; }
	.nbj-pv-schluss-text { padding: 18px 0 24px; }
	.nbj-liste > .nbj-anzeige--liste { border-top: 1px solid var(--nbj-tinte); }
}
/* Eckfeld am Listenende: fest in Spalte 5 und 6, Meldungen darueber je eine Spalte, Anzeige unten ueber beide Spalten */
.nbj-eckfeld--liste { display: flex; flex-direction: column; gap: 18px; }
.nbj-eckfeld-oben { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--nbj-gap); }
.nbj-eckfeld-oben > .nbj-einzel:only-child { grid-column: 1 / -1; }
.nbj-eckfeld--liste .nbj-eckfeld-anzeige .pw-platz { max-width: none; width: 100%; margin: 0; }
@media (max-width: 1023px) {
	.nbj-eckfeld-oben { grid-template-columns: minmax(0, 1fr); row-gap: 16px; }
}
.nbj-eckfeld--zwei .nbj-eckfeld-oben { position: relative; }
@media (min-width: 1024px) {
	.nbj-eckfeld--zwei .nbj-eckfeld-oben::after { content: ""; position: absolute; top: 0; bottom: 0; left: 50%; width: 1px; background: var(--nbj-linie); }
}
/* GP gibt .entry-content oben 2em Aussenabstand; im Raster liegt der Abstand innen, sonst steht dort die Spaltenlinie frei */
.nbj-beitrag-text.entry-content { margin-top: 0 !important; }
/* Verbreiterte Einzelmeldungen decken die Linien zwischen ihren Spalten ab */
.nbj-liste > .nbj-einzel:not(.nbj-breit-1), .nbj-raster > .nbj-einzel[class*="nbj-breit-"]:not(.nbj-breit-1) { background: var(--nbj-papier); }
@media (min-width: 1024px) {
	.nbj-archiv-raster { row-gap: 0; }
}
/* Runde 5: breiter letzter Termin in "Später im Kalender" deckt Linien und Abstaende ab */
.nbj-raster > .nbj-termin[class*="nbj-breit-"]:not(.nbj-breit-1) { background: var(--nbj-papier); }
@media (min-width: 1024px) {
	.nbj-abschnitt > .nbj-termin[class*="nbj-breit-"]:not(.nbj-breit-1) { margin-top: calc(-1 * var(--nbj-o)); padding-top: var(--nbj-o); margin-bottom: calc(-1 * var(--nbj-u)); padding-bottom: var(--nbj-u); }
}
@media (min-width: 1024px) {
	.nbj-kalender-reihe > .nbj-termin.nbj-breit-2 { grid-column: span 2; }
	.nbj-kalender-reihe > .nbj-termin.nbj-breit-3 { grid-column: span 3; }
	.nbj-kalender-reihe > .nbj-termin.nbj-breit-4 { grid-column: span 4; }
	.nbj-kalender-reihe > .nbj-termin.nbj-breit-5 { grid-column: span 5; }
}

/* =========================================================================
 * Startseite als Nachrichtenportal (30.10.2026)
 *   Reihe "Zuletzt": sechs neueste Meldungen, eine je Spalte, mit Uhrzeit und Ort
 *   Aufmacher mit Breitbild ueber Spalte 1 bis 4, rechts Zweitaufmacher und eine weitere Meldung
 * ====================================================================== */
.nbj-zuletzt-kopf { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.nbj-abschnitt.nbj-zuletzt { --nbj-o: 14px; --nbj-u: 16px; border-top: 0; position: relative; }
.nbj-zuletzt-eintrag { min-width: 0; }
.nbj-zuletzt-zeit { margin: 0 0 4px; font-family: var(--nbj-sans); font-size: 12px; line-height: 1.3; font-weight: 700; color: var(--nbj-sand); }
.nbj-zuletzt-ort { margin-left: 6px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; font-size: 11px; color: var(--nbj-tinte); }
.nbj-zuletzt-ort::before { content: "·"; margin-right: 6px; color: var(--nbj-grau); }
.nbj-zuletzt-titel { margin: 0; font-family: var(--nbj-serif); font-size: 16.5px; line-height: 1.25; hyphens: auto; -webkit-hyphens: auto; }
.nbj-abschnitt.nbj-titelseite { border-top: 1px solid var(--nbj-tinte); --nbj-o: 20px; }
.nbj-aufmacher--bild { background: var(--nbj-papier); }
.nbj-aufmacher-bild { margin: 0 0 12px; }
.nbj-aufmacher-bild img { aspect-ratio: 16 / 7; }
.nbj-aufmacher--bild .nbj-aufmacher-titel { padding-bottom: 8px; font-size: clamp(28px, 3.1vw, 42px); line-height: 1.08; }
.nbj-aufmacher-anriss { font-size: 17px; line-height: 1.5; max-width: 46em; }
.nbj-titel-rechts { min-width: 0; background: var(--nbj-papier); }
.nbj-titel-rechts .nbj-zweit .nbj-doppel-titel { font-size: 24px; }
.nbj-titel-rechts .nbj-dritt { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--nbj-linie); }
.nbj-titel-rechts .nbj-dritt .nbj-einzel-titel { font-size: 19px; }
@media (min-width: 1024px) {
	.nbj-titelseite > .nbj-aufmacher--bild { grid-column: 1 / span 4; }
	.nbj-titelseite > .nbj-titel-rechts { grid-column: 5 / span 2; }
	.nbj-titelseite > .nbj-aufmacher--bild, .nbj-titelseite > .nbj-titel-rechts {
		margin-top: calc(-1 * var(--nbj-o)); padding-top: var(--nbj-o); margin-bottom: calc(-1 * var(--nbj-u)); padding-bottom: var(--nbj-u);
	}
	.nbj-kopf--titel .nbj-titelkopf { padding: 22px 0 12px; }
	.nbj-kopf--titel .nbj-marke a { font-size: 64px; }
}
@media (min-width: 768px) and (max-width: 1023px) {
	.nbj-titelseite > * { grid-column: 1 / -1; }
}
/* Handy: Aufmacher zuerst, darunter die neuesten Meldungen als Liste */
@media (max-width: 767px) {
	.nbj-strecke { display: flex; flex-direction: column; }
	.nbj-strecke > .nbj-titelseite { order: -1; border-top: 0; padding-top: 14px; }
	.nbj-strecke > .nbj-zuletzt { border-top: 1px solid var(--nbj-tinte); padding-top: 4px; }
	.nbj-zuletzt { row-gap: 0; }
	.nbj-zuletzt-eintrag { padding: 10px 0; border-bottom: 1px solid var(--nbj-linie); }
	.nbj-aufmacher-bild { margin: 0 calc(-1 * var(--nbj-rand)) 10px; }
	.nbj-aufmacher--bild .nbj-aufmacher-titel { font-size: 27px; }
	.nbj-titelkopf { padding: 12px 0 6px; }
	.nbj-reg-themen { min-width: 340px; }
	.nbj-reg-themen ul { columns: 3; column-gap: 14px; }
	.nbj-register li a { padding: 4px 0; font-size: 14px; }
}
.nbj-aufmacher-bild img { aspect-ratio: 21 / 8; }
@media (min-width: 1024px) {
	.nbj-aufmacher--bild .nbj-aufmacher-titel { font-size: 38px; }
}
@media (max-width: 767px) {
	.nbj-strecke > .nbj-titelseite, .nbj-strecke > .nbj-zuletzt { display: contents; }
	.nbj-strecke > .nbj-titelseite > .nbj-aufmacher--bild { order: 1; padding-top: 12px; }
	.nbj-strecke > .nbj-zuletzt > .nbj-zuletzt-eintrag { order: 2; }
	.nbj-strecke > .nbj-zuletzt > .nbj-zuletzt-eintrag:first-of-type { margin-top: 10px; border-top: 1px solid var(--nbj-tinte); }
	.nbj-strecke > .nbj-titelseite > .nbj-titel-rechts { order: 3; padding: 18px 0 8px; }
	.nbj-aufmacher-bild img { aspect-ratio: 21 / 9; }
	.nbj-kopf--titel .nbj-ausgabe-sonne { display: none; }
	.nbj-kopf--titel .nbj-ausgabe { margin-top: 8px; }
}
@media (max-width: 767px) {
	.nbj-register-spalten { padding: 8px 0 8px; }
	.nbj-register li a { padding: 3px 0; font-size: 13.5px; line-height: 1.3; }
	.nbj-aufmacher--bild .nbj-aufmacher-titel { font-size: 24px; padding-bottom: 6px; }
	.nbj-aufmacher-bild { margin-bottom: 8px; }
	.nbj-zuletzt-eintrag { padding: 8px 0; }
	.nbj-zuletzt-titel { font-size: 15.5px; line-height: 1.28; }
}
@media (min-width: 1024px) {
	.nbj-aufmacher-bild img { aspect-ratio: 3 / 1; }
	.nbj-kopf--titel .nbj-titelkopf { padding: 16px 0 8px; }
	.nbj-kopf--titel .nbj-marke a { font-size: 58px; }
	.nbj-kopf--titel .nbj-register-spalten { padding: 10px 0 10px; }
	.nbj-kopf--titel .nbj-register li a { padding: 1px 0; }
	.nbj-abschnitt.nbj-zuletzt { --nbj-o: 12px; --nbj-u: 12px; }
	.nbj-abschnitt.nbj-titelseite { --nbj-o: 16px; }
}
@media (max-width: 767px) {
	.nbj-register li a { padding: 4px 0; }
	.nbj-titelkopf { padding: 8px 0 2px; }
	.nbj-kopf--titel .nbj-ausgabe { margin-top: 6px; padding: 5px 0 4px; }
}

/* S2 (30.10.): "Zuletzt" mit fester Ortszeile und Zeitzeile, volle Schlagzeilen ohne Kuerzung, Platz aus dem Register */
.nbj-zuletzt-ort { margin: 0; font-family: var(--nbj-sans); font-size: 11px; line-height: 1.35; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--nbj-tinte); }
.nbj-zuletzt-ort::before { content: none; }
.nbj-zuletzt-zeit { margin: 1px 0 5px; font-size: 12px; white-space: nowrap; }
@media (min-width: 1024px) {
	.nbj-zuletzt-titel { font-size: 15.5px; line-height: 1.27; }
	.nbj-kopf--titel .nbj-titelkopf { padding: 12px 0 6px; }
	.nbj-kopf--titel .nbj-marke a { font-size: 54px; }
	.nbj-kopf--titel .nbj-ausgabe { margin-top: 10px; padding: 6px 0 5px; }
	.nbj-kopf--titel .nbj-register-spalten { padding: 8px 0 9px; }
	.nbj-kopf--titel .nbj-register li a { padding: 0; font-size: 14px; line-height: 1.32; }
	.nbj-kopf--titel .nbj-reg-kopf { margin-bottom: 3px; }
	.nbj-aufmacher-bild img { aspect-ratio: 16 / 5; }
	.nbj-aufmacher--bild .nbj-aufmacher-titel { font-size: 36px; }
}
@media (max-width: 767px) {
}
@media (min-width: 1024px) {
	.nbj-aufmacher-bild { margin-bottom: 8px; }
	.nbj-aufmacher-bild img { aspect-ratio: 7 / 2; }
	.nbj-aufmacher--bild .nbj-aufmacher-titel { font-size: 34px; padding-bottom: 6px; }
}
@media (max-width: 767px) {
	.nbj-zuletzt-ort { display: inline; }
	.nbj-zuletzt-zeit { display: inline; margin: 0 0 0 8px; }
	.nbj-zuletzt-titel { margin-top: 3px; }
}
@media (min-width: 1024px) {
	.nbj-aufmacher-bild img { aspect-ratio: 16 / 5; }
}
@media (max-width: 767px) {
	.nbj-aufmacher--bild .nbj-dach { display: none; }
	.nbj-zuletzt-eintrag { padding: 6px 0 7px; }
	.nbj-register-spalten { padding: 6px 0 6px; }
	.nbj-aufmacher-bild img { aspect-ratio: 12 / 5; }
}

/* S3: Schlagzeilen in "Zuletzt" mit echter Silbentrennung (lang de), zwischen 1024 und 1365 px etwas kleiner */
.nbj-zuletzt-titel { hyphens: auto; -webkit-hyphens: auto; overflow-wrap: normal; }
@media (min-width: 1024px) and (max-width: 1365px) {
	.nbj-zuletzt-titel { font-size: 14.5px; }
	.nbj-zuletzt-ort { letter-spacing: .03em; }
}
@media (max-width: 767px) {
	.nbj-aufmacher-anriss { font-size: 15.5px; line-height: 1.45; }
	.nbj-register-spalten { grid-auto-columns: minmax(150px, 47%); }
	.nbj-zuletzt-titel { font-size: 15px; }
}
/* 1024 bis 1365 px (z. B. 1280 x 800): Breitbild etwas flacher, damit die Zeit des Aufmachers im ersten Bildschirm bleibt */
@media (min-width: 1024px) and (max-width: 1365px) {
	.nbj-aufmacher-bild img { aspect-ratio: 7 / 2; }
	.nbj-aufmacher--bild .nbj-aufmacher-titel { font-size: 31px; }
}
@media (max-width: 767px) {
	.nbj-aufmacher-bild img { aspect-ratio: 5 / 2; }
	.nbj-aufmacher--bild .nbj-aufmacher-titel { font-size: 23px; }
}
@media (max-width: 767px) {
	.nbj-register-spalten { grid-auto-columns: minmax(170px, 50%); }
	.nbj-reg-zelle { padding: 0 10px; }
}
@media (max-width: 767px) {
	.nbj-zuletzt-eintrag { padding: 5px 0 5px; }
	.nbj-strecke > .nbj-zuletzt > .nbj-zuletzt-eintrag:first-of-type { margin-top: 6px; }
}
@media (min-width: 1024px) and (max-width: 1365px) {
	.nbj-aufmacher-bild img { aspect-ratio: 15 / 4; }
}
/* Anzeigenreihe am Seitenende, wenn Reihen mangels Meldungen ausfallen */
@media (min-width: 1024px) {
	.nbj-anzeigenreihe > .nbj-fuss-etikett { display: block; grid-column: 1; align-self: start; padding-top: 4px; }
	.nbj-anzeigenreihe > .nbj-eckfeld { background: var(--nbj-papier); }
	.nbj-anzeigenreihe > .nbj-eckfeld--links .nbj-eckfeld-anzeige .pw-platz { margin: 0; }
}
@media (min-width: 1024px) {
}

/* S4: keine Wortbrueche ohne Trennstrich in Reihentiteln und Terminen; nichts ausblenden, was als gezeigt gilt */
.nbj-ressort-titel, .nbj-termin-titel, .nbj-kalender-tag-titel, .nbj-doppel-titel, .nbj-archiv-titel { hyphens: auto; -webkit-hyphens: auto; overflow-wrap: normal; }
@media (min-width: 768px) and (max-width: 1023px) {
	.nbj-zuletzt { row-gap: 18px; }
}
/* Rueckfall-Anzeigenreihe: Felder in echter Groesse, an der Spaltenkante */
.nbj-anzeigenreihe .nbj-eckfeld--links .pw-platz { margin: 0; }
.nbj-anzeigenreihe .nbj-eckfeld--rechts .pw-platz { margin: 0 0 0 auto; }
.nbj-doppel.nbj-breit-1 .nbj-doppel-titel { font-size: 21px; line-height: 1.18; }
.nbj-zuletzt-ort { hyphens: auto; -webkit-hyphens: auto; overflow-wrap: normal; }
