/*
Theme Name: Forum 270
Theme URI: https://www.forum270.de/
Author: Forum 270 – Qualität und Verantwortung in der Eigenverwaltung e. V.
Description: Eigenständiges, natives WordPress-Theme für Forum 270 e. V. Übernimmt das bestehende Design exakt: Manrope und Source Sans 3 lokal eingebunden, ein Breakpoint bei 1000 px, Laufband der Mitgliedskanzleien und filterbare Mitgliederübersicht. Ohne Page Builder, ohne Framework, ohne Plugin-Pflicht.
Version: 1.0.2
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: forum270
Tags: one-column, custom-logo, custom-menu, translation-ready
*/

/*
 * Das gesamte Design liegt in assets/css/ (fonts.css, main.css, hover.css) und
 * wird ueber inc/enqueue.php geladen. Diese Datei enthaelt ausschliesslich den
 * Theme-Header sowie Korrekturen, die nur im eingeloggten Backend-Kontext
 * greifen und fuer Besucher wirkungslos sind.
 */

/* ----------------------------------------------------------- Admin-Bar ---
 * Der Seitenkopf ist "position: sticky; top: 0". WordPress blendet fuer
 * angemeldete Benutzer die Admin-Leiste darueber ein, unter die der Kopf
 * beim Scrollen sonst rutscht.
 *
 * Das "top: 0" steht als inline-Stil direkt am <header> - aus dem
 * Originaldesign uebernommen. Inline-Stile schlagen jede Regel aus einem
 * Stylesheet, deshalb ist !important hier nicht Bequemlichkeit, sondern
 * die einzige Moeglichkeit. Alle Regeln haengen an .admin-bar und sind
 * fuer ausgeloggte Besucher wirkungslos.
 */
body.admin-bar .f270-header {
	top: 32px !important;
}

@media screen and (max-width: 782px) {
	body.admin-bar .f270-header {
		top: 46px !important;
	}
}

/* Unter 601 px ist die Admin-Leiste absolut positioniert und scrollt mit,
 * der Kopf darf also wieder ganz nach oben. */
@media screen and (max-width: 600px) {
	body.admin-bar .f270-header {
		top: 0 !important;
	}
}

/* -------------------------------------------------------------- Prosa ---
 * main.css setzt Abstaende von Ueberschriften, Absaetzen und Listen auf 0
 * und entfernt Aufzaehlungszeichen - das ist fuer die Startseite richtig,
 * deren Elemente ihre Abstaende einzeln mitbringen. Inhalte aus dem
 * Editor brauchen dagegen eine Grundtypografie. Diese Regeln greifen
 * ausschliesslich innerhalb von .f270-prose und beruehren die Startseite
 * daher nicht. Schriften, Groessen und Farben stammen aus dem bestehenden
 * Design.
 */
.f270-prose > * + * {
	margin-top: 20px;
}

.f270-prose h2,
.f270-prose h3,
.f270-prose h4 {
	font-family: 'Manrope', system-ui, sans-serif;
	font-weight: 700;
	letter-spacing: -.02em;
	line-height: 1.2;
	color: #0b1a17;
}

.f270-prose h2 {
	margin-top: 48px;
	font-size: 30px;
	font-weight: 800;
	letter-spacing: -.03em;
}

.f270-prose h3 {
	margin-top: 36px;
	font-size: 21px;
}

.f270-prose h4 {
	margin-top: 28px;
	font-size: 18px;
}

.f270-prose ul,
.f270-prose ol {
	padding-left: 22px;
}

.f270-prose ul {
	list-style: disc;
}

.f270-prose ol {
	list-style: decimal;
}

.f270-prose li + li {
	margin-top: 8px;
}

.f270-prose li::marker {
	color: #9aa4a0;
}

.f270-prose blockquote {
	margin: 32px 0;
	padding-left: 24px;
	border-left: 2px solid #3fae90;
	font-size: 21px;
	line-height: 1.5;
	color: #0b1a17;
}

.f270-prose figure,
.f270-prose img {
	max-width: 100%;
	height: auto;
}

.f270-prose figcaption {
	margin-top: 10px;
	font-size: 14.5px;
	color: #8a948f;
}

.f270-prose table {
	width: 100%;
	border-collapse: collapse;
	font-size: 16.5px;
}

.f270-prose th,
.f270-prose td {
	padding: 12px 14px;
	border-bottom: 1px solid #ebe9e2;
	text-align: left;
	vertical-align: top;
}

.f270-prose th {
	font-family: 'Manrope', system-ui, sans-serif;
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #9aa4a0;
}

.f270-prose hr {
	margin: 40px 0;
	border: 0;
	border-top: 1px solid #ebe9e2;
}

.f270-prose code,
.f270-prose pre {
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: .92em;
}

.f270-prose pre {
	overflow-x: auto;
	padding: 18px 20px;
	border-radius: 6px;
	background: #f7f6f2;
}

/* Tabellen und Codebloecke duerfen scrollen, die Seite selbst nicht. */
.f270-prose > .wp-block-table {
	overflow-x: auto;
}
