/* Ruhiger Look für Schweden Info.
   Ändert nur Schriftgewicht, Abstände, Linien und Formen. Alle Farben bleiben wie im Theme. */

body { line-height: 1.75; }
a { text-decoration-thickness: 1px; text-underline-offset: 4px; }
a:hover, a:focus { text-decoration-thickness: 1px; }
h1, h2, h3, h4, h5, h6 { font-weight: 400; }

/* ---------- Kopfbereich ---------- */
.sj-topbar { font-size: 12px; letter-spacing: .06em; }
.sj-topbar .sj-wrap { min-height: 34px; }
.sj-langs a { border-radius: 999px; padding: 2px 11px; font-weight: 600; }
.sj-masthead { padding: 42px 0 32px; }
.sj-title { font-weight: 400; font-size: clamp(32px, 4.2vw, 46px); letter-spacing: .01em; }
.sj-title::after { width: 56px; height: 2px; margin-top: 20px; }
.sj-tagline { font-size: 17px; margin-top: 18px; letter-spacing: .02em; }

.sj-menu a { font-size: 12px; font-weight: 500; letter-spacing: .12em; }
.sj-menu ul a { font-size: 14px; letter-spacing: .02em; }
@media (min-width: 861px) {
	.sj-menu a { padding: 18px 14px; }
	.sj-menu a:hover, .sj-menu .current-menu-item > a, .sj-menu .current-menu-ancestor > a, .sj-menu .current_page_item > a {
		background: transparent; box-shadow: inset 0 -2px 0 var(--sj-yellow);
	}
	.sj-menu ul { min-width: 260px; }
	.sj-menu ul a { padding: 13px 22px; }
	.sj-menu ul a:hover { background: rgba(255, 255, 255, 0.07); box-shadow: none; }
}

/* ---------- Startseite: Titelband ---------- */
.sj-hero .sj-wrap { padding-top: 88px; padding-bottom: 96px; }
.sj-hero h1 { font-weight: 400; font-size: clamp(32px, 4vw, 48px); line-height: 1.15; letter-spacing: 0; margin-bottom: 22px; }
.sj-hero p { font-size: 19px; line-height: 1.75; max-width: 600px; margin-bottom: 34px; }
@media (min-width: 901px) {
	.sj-hero::after { right: -30px; width: 110px; }
}
@media (max-width: 900px) {
	.sj-hero .sj-wrap { padding-top: 52px; padding-bottom: 60px; }
}
.sj-kicker { border-radius: 999px; padding: 4px 13px; font-weight: 600; letter-spacing: .14em; margin-bottom: 18px; }
.sj-btn { border-radius: 999px; padding: 13px 32px; font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }

/* ---------- Rubriken ---------- */
.sj-main { padding-bottom: 92px; }
body:not(.home) .sj-main { padding-top: 56px; }
.sj-layout { gap: 56px; }
.sj-rubric { margin-bottom: 88px; }
.sj-rubric-head { border-bottom: 1px solid var(--sj-line); margin-bottom: 34px; padding-bottom: 14px; }
.sj-rubric-head h2 { font-weight: 400; font-size: 28px; letter-spacing: 0; }
.sj-rubric-head a { font-size: 12px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; }
.sj-news .sj-rubric-head { border-bottom: 1px solid var(--sj-line); }
.sj-news-dot { width: 9px; height: 9px; box-shadow: none; }
.sj-news-date { font-weight: 500; letter-spacing: .14em; }
.sj-news-lead-title { font-weight: 400; font-size: clamp(24px, 2.6vw, 32px); line-height: 1.25; }
.sj-news-lead-title a:hover, .sj-news-item-title a:hover, .sj-card-title a:hover { text-decoration-thickness: 1px; }
.sj-news-lead-text { line-height: 1.7; }
.sj-news-lead-body { padding-top: 38px; padding-bottom: 40px; }
.sj-news-item { padding: 20px 24px; }
.sj-news-item-title { font-weight: 400; font-size: 18px; line-height: 1.35; }
@media (min-width: 901px) {
	.sj-news-lead::after { right: -25px; width: 60px; }
	.sj-news-lead-body { padding-right: 60px; }
}
.sj-news-grid { gap: 34px; }
.sj-intro { margin-bottom: 80px; }
.sj-overview-box { padding: 52px 56px; gap: 64px; }
.sj-facts-title { font-weight: 400; }
.sj-fact dt { font-weight: 500; letter-spacing: .14em; }

/* ---------- Karten ---------- */
.sj-grid { gap: 34px; }
.sj-card { transition: box-shadow .35s ease, border-color .35s ease; }
.sj-card:hover { transform: none; box-shadow: 0 12px 32px rgba(10, 42, 77, 0.08); }
.sj-card-body { padding: 24px 26px 28px; gap: 10px; }
.sj-card-title { font-weight: 400; font-size: 20px; line-height: 1.3; }
.sj-card-text { line-height: 1.7; }
.sj-card-ph, .sj-news-thumb-ph { font-weight: 400; }
.sj-more { font-size: 12px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; }

/* ---------- Beiträge und Seiten ---------- */
.sj-article-title { font-weight: 400; font-size: clamp(26px, 2.6vw, 36px); letter-spacing: 0; line-height: 1.25; margin-bottom: 14px; }
.sj-lead { font-size: 18px; line-height: 1.7; }
.sj-meta { letter-spacing: .04em; }
.sj-content p, .sj-content ul, .sj-content ol { margin-bottom: 1.35em; }
.sj-content h2 { font-size: 26px; font-weight: 400; margin-top: 2.6em; padding-top: 24px; border-top: 1px solid var(--sj-line); }
.sj-content h3 { font-size: 21px; font-weight: 400; }
.sj-content blockquote { border-left-width: 2px; font-weight: 400; }
.sj-related { border-top: 1px solid var(--sj-line); margin-top: 68px; padding-top: 34px; }
.sj-related h2 { font-weight: 400; }
.sj-sidebar .widget { padding: 26px; }
.sj-sidebar .widget-title, .sj-sidebar h2 { font-weight: 400; border-bottom: 1px solid var(--sj-line); }

/* ---------- Formulare und Seitenzahlen ---------- */
.search-form button, input[type="submit"] { border-radius: 999px; padding: 11px 26px; font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
input[type="search"], input[type="text"], input[type="email"], input[type="url"], textarea { border-radius: 8px; }
.sj-pagination .page-numbers { border-radius: 999px; padding: 8px 16px; font-weight: 500; }

/* ---------- Fußbereich ---------- */
.sj-footer { margin-top: 56px; }
.sj-footer .sj-wrap { padding-top: 64px; padding-bottom: 36px; }
.sj-footer-title { font-weight: 400; }

/* ---------- KI-Prompt-Seiten ---------- */
.sjp .sjp-card { border-left-width: 2px; padding: 26px 28px; margin-bottom: 28px; }
.sjp .sjp-care { border-top-width: 2px; }
.sjp .sjp-pill { font-weight: 500; }
.sjp .sjp-pill[aria-pressed="true"] { box-shadow: none; }
.sjp .sjp-btn, .sjp .sjp-open, .sjp .sjp-more { border-radius: 999px; padding: 10px 22px; font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.sjp .sjp-btn { border-bottom: 0; }
.sjp .sjp-link { font-size: 13px; letter-spacing: .02em; text-transform: none; }
.sjp .sjp-text, .sjp .sjp-fi { border-radius: 8px; }

/* Themenkarten: WordPress fügt zwischen den Karten Zeilenumbrüche ein, die im Raster Platz belegen */
.sjp .sjp-pgrid { grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; margin: 8px 0 44px; }
.sjp .sjp-pgrid > br, .sjp .sjp-pgrid > p:empty { display: none; }
.sjp .sjp-pgrid > p { display: contents; }
.sjp .sjp-pcard { display: flex; flex-direction: column; gap: 8px; height: 100%; padding: 24px 26px; border-top: 1px solid var(--sj-line); font-size: 14.5px; line-height: 1.65; color: var(--sj-muted); transition: border-color .3s ease, box-shadow .3s ease; }
.sjp .sjp-pcard strong { margin: 0; font-size: 20px; font-weight: 400; line-height: 1.25; color: var(--sj-ink); }
.sjp .sjp-pcard:hover { border-color: var(--sj-blue); box-shadow: 0 10px 28px rgba(10, 42, 77, 0.07); }
