/*!
Theme Name: RevierRumpel
Theme URI: https://postnyi.sphera.click
Author: Kirill Postnyi
Author URI: https://postnyi.sphera.click
Description: Individuelles WordPress-Theme für RevierRumpel – Entrümpelung, Räumung und besenreine Übergabe für Hausverwaltungen, Eigentümer und Insolvenzverwalter im Ruhrgebiet. RevierRumpel ist eine Marke der IPE Group GmbH. Design und Entwicklung: Kirill Postnyi.
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: revierrumpel
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

RevierRumpel is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: #404040;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	font-size: 1rem;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

p {
	margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
	background: #fff;
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

img {
	height: auto;
	max-width: 100%;
}

figure {
	margin: 1em 0;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/* Links
--------------------------------------------- */
a {
	color: #4169e1;
}

a:visited {
	color: #800080;
}

a:hover,
a:focus,
a:active {
	color: #191970;
}

a:focus {
	outline: thin dotted;
}

a:hover,
a:active {
	outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */
.main-navigation {
	display: block;
	width: 100%;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	display: block;
	left: auto;
}

.main-navigation ul ul a {
	width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

@media screen and (min-width: 37.5em) {

	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
	}
}

.site-main .comment-navigation,
.site-main
.posts-navigation,
.site-main
.post-navigation {
	margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.post,
.page {
	margin: 0 0 1.5em;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}

:root{
            --anthrazit:#2b2e33; --anthrazit-tief:#1f2226; --orange:#f25c1a; --orange-dunkel:#c94a12;
            --papier:#f6f5f2; --weiss:#ffffff; --stein:#8b8f96; --linie:#e2e1dd;
            --display:'Barlow Semi Condensed',sans-serif; --body:'Barlow',sans-serif;
        }
        *{margin:0;padding:0;box-sizing:border-box}
        html{scroll-behavior:smooth}
        @media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
        body{font-family:var(--body);color:var(--anthrazit);background:var(--papier);line-height:1.65;font-size:17px}
        h1,h2,h3{font-family:var(--display);line-height:1.15;font-weight:600}
        a{color:inherit}
        .wrap{max-width:1120px;margin:0 auto;padding:0 24px}
        .eyebrow{font-family:var(--display);font-weight:500;font-size:14px;letter-spacing:3px;text-transform:uppercase;color:var(--orange)}
        .hatch{height:10px;background:repeating-linear-gradient(-45deg,var(--orange) 0 14px,var(--anthrazit) 14px 28px);opacity:.92}
        .btn{display:inline-block;font-family:var(--display);font-weight:600;font-size:17px;letter-spacing:.5px;text-decoration:none;padding:15px 30px;border-radius:4px;transition:background .15s}
        .btn-orange{background:var(--orange);color:#fff}
        .btn-orange:hover{background:var(--orange-dunkel)}
        a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--orange);outline-offset:2px}

        header{background:var(--anthrazit-tief);color:#fff;position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(255,255,255,.08)}
        .nav{display:flex;align-items:center;justify-content:space-between;gap:24px;height:68px}
        .brand{display:flex;align-items:center;gap:12px;text-decoration:none}
        .brand svg{height:38px;width:auto;display:block}
        .brand-name{font-family:var(--display);font-weight:600;font-size:22px;letter-spacing:.5px}
        .brand-name span{color:var(--orange)}
        .nav-links{display:flex;gap:28px;list-style:none;align-items:center}
        .nav-links a{white-space:nowrap;text-decoration:none;font-size:15.5px;font-weight:500;opacity:.85}
        .nav-links a:hover{opacity:1;color:var(--orange)}
        .nav-cta{background:var(--orange);padding:9px 18px;border-radius:4px;opacity:1!important}
        .nav-cta:hover{background:var(--orange-dunkel);color:#fff!important}
        .burger{display:none;background:none;border:none;color:#fff;font-size:26px;cursor:pointer}

        .hero{background:var(--papier);color:var(--anthrazit);position:relative;overflow:hidden}
        .hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:64px;align-items:center;padding-top:72px;padding-bottom:80px}
        .hero-grid > *{min-width:0}
        .hero h1{font-size:clamp(34px,4.6vw,56px);margin:18px 0 20px;max-width:640px}
        .hero h1 em{font-style:normal;color:var(--orange)}
        .hero p.lead{font-size:19px;max-width:560px;color:#565b63}
        .hero-ctas{margin-top:34px;display:flex;gap:16px;flex-wrap:wrap}
        .hero-foto{position:relative;margin:0}
        .hero-foto .frame{position:relative;aspect-ratio:4/5;max-height:640px;border-radius:10px;overflow:hidden;background:#d9d6cf}
        .hero-foto img{display:block;width:100%;height:100%;object-fit:cover;object-position:70% 50%}
        .hero-foto .frame::after{content:"";position:absolute;left:0;right:0;bottom:0;height:10px;background:repeating-linear-gradient(-45deg,var(--orange) 0 14px,var(--anthrazit) 14px 28px)}
        .foto-badge{position:absolute;left:-32px;bottom:44px;display:flex;gap:14px;align-items:center;background:var(--weiss);border:1px solid var(--linie);border-radius:8px;padding:14px 18px 14px 14px;box-shadow:0 12px 32px rgba(31,34,38,.14);max-width:290px}
        .foto-badge .ico{width:42px;height:42px;border-radius:6px;background:var(--anthrazit);display:grid;place-items:center;flex-shrink:0}
        .foto-badge .ico svg{width:24px;height:24px}
        .foto-badge strong{display:block;font-family:var(--display);font-weight:600;font-size:17px;line-height:1.2;color:var(--anthrazit)}
        .foto-badge span{display:block;font-size:14px;line-height:1.35;color:#565b63;margin-top:2px}
        .btn-ghost{border:2px solid var(--anthrazit);color:var(--anthrazit)}
        .btn-ghost:hover{background:var(--anthrazit);color:#fff}
        .trust{background:var(--weiss);border-top:1px solid var(--linie);border-bottom:1px solid var(--linie)}
        .trust-row{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-top:26px;padding-bottom:26px}
        .trust-item{display:flex;gap:14px;align-items:baseline}
        .trust-num{font-family:var(--display);font-weight:600;font-size:34px;color:var(--orange)}
        .trust-label{font-size:15px;color:#565b63;line-height:1.4}

        section{padding:88px 0}
        .sec-head{max-width:640px;margin-bottom:52px}
        .sec-head h2{font-size:clamp(28px,3.4vw,40px);margin-top:14px}
        .sec-head p{margin-top:14px;color:#565b63}

        .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px}
        .card{background:var(--weiss);border:1px solid var(--linie);border-radius:8px;padding:30px 26px}
        .card h3{font-size:21px;margin:0 0 10px}
        .card p{font-size:16px;color:#565b63}
        .card .tag{display:inline-block;font-family:var(--display);font-weight:600;font-size:12.5px;letter-spacing:2px;text-transform:uppercase;color:var(--orange);margin-bottom:14px}

        .ablauf{background:var(--weiss);border-top:1px solid var(--linie);border-bottom:1px solid var(--linie)}
        .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;counter-reset:step}
        .step{position:relative;padding:0 26px 0 0}
        .step + .step{border-left:1px solid var(--linie);padding-left:26px}
        .step-num{font-family:var(--display);font-weight:600;font-size:15px;color:var(--orange);letter-spacing:2px}
        .step h3{font-size:20px;margin:10px 0 8px}
        .step p{font-size:15.5px;color:#565b63}

        .gebiet{background:var(--anthrazit);color:#fff}
        .gebiet .sec-head p{color:rgba(255,255,255,.75)}
        .staedte{display:flex;flex-wrap:wrap;gap:12px;max-width:820px}
        .stadt{font-family:var(--display);font-weight:500;font-size:16.5px;letter-spacing:.5px;border:1px solid rgba(255,255,255,.28);border-radius:4px;padding:8px 18px}
        .stadt.hq{border-color:var(--orange);color:var(--orange)}
        .gebiet-note{margin-top:26px;font-size:15.5px;color:rgba(255,255,255,.65);max-width:640px}

        .story-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
        .story h2{font-size:clamp(26px,3vw,36px);margin-top:14px}
        .story p{margin-top:16px;color:#565b63}
        .story-panel{background:var(--anthrazit);color:#fff;border-radius:10px;padding:38px 34px}
        .story-panel h3{font-size:20px;color:var(--orange)}
        .story-panel ul{list-style:none;margin-top:18px}
        .story-panel li{padding:11px 0 11px 30px;position:relative;font-size:16px;border-top:1px solid rgba(255,255,255,.1)}
        .story-panel li:first-child{border-top:none}
        .story-panel li::before{content:"";position:absolute;left:0;top:18px;width:16px;height:16px;background:var(--orange);clip-path:polygon(0 40%,10% 30%,40% 55%,90% 0,100% 12%,40% 80%)}

        .faq-list{max-width:780px}
        details{background:var(--weiss);border:1px solid var(--linie);border-radius:8px;margin-bottom:12px}
        summary{cursor:pointer;font-family:var(--display);font-weight:600;font-size:18.5px;padding:18px 22px;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px}
        summary::-webkit-details-marker{display:none}
        summary::after{content:"+";color:var(--orange);font-size:24px;font-weight:500;flex-shrink:0}
        details[open] summary::after{content:"–"}
        details p{padding:0 22px 20px;color:#565b63;font-size:16px}

        .kontakt{background:var(--weiss);border-top:1px solid var(--linie)}
        .kontakt-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px}
        .k-info h2{font-size:clamp(26px,3vw,36px);margin-top:14px}
        .k-info p{margin-top:14px;color:#565b63}
        .k-line{display:flex;gap:14px;margin-top:22px;align-items:baseline}
        .k-line strong{font-family:var(--display);font-weight:600;min-width:86px;font-size:15px;letter-spacing:1px;text-transform:uppercase;color:var(--orange)}
        .form{background:var(--papier);border:1px solid var(--linie);border-radius:10px;padding:34px 30px}
        .f-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
        .f-field{margin-bottom:16px}
        label{display:block;font-family:var(--display);font-weight:600;font-size:14.5px;letter-spacing:.5px;margin-bottom:6px}
        input,select,textarea{width:100%;font-family:var(--body);font-size:16px;padding:12px 14px;border:1px solid #cfcdc8;border-radius:4px;background:#fff;color:var(--anthrazit)}
        textarea{min-height:110px;resize:vertical}
        .form-note{font-size:14px;color:var(--stein);margin-top:14px}
        .f-check{display:flex;gap:12px;align-items:flex-start;margin:4px 0 18px}
        .f-check input{width:20px;height:20px;margin-top:3px;flex-shrink:0;accent-color:var(--orange);cursor:pointer;padding:0}
        .f-check label{font-family:var(--body);font-weight:400;font-size:15px;letter-spacing:0;line-height:1.5;color:#565b63;margin:0;cursor:pointer}
        .f-check label a{color:var(--orange-dunkel);text-underline-offset:3px}
        .f-check.invalid input{outline:2px solid #c0392b;outline-offset:2px}
        .f-err{display:none;margin:-8px 0 16px 32px;font-size:14.5px;color:#b0301f}
        .form-ok{display:none;background:#e8f4ea;border:1px solid #b7dcbd;border-radius:6px;padding:14px 18px;margin-top:16px;font-size:15.5px;color:#245c2e}

        footer{background:var(--anthrazit-tief);color:rgba(255,255,255,.75);padding:56px 0 40px;font-size:15px}
        .foot-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px}
        .foot-grid h3{color:#fff;font-size:17px;margin-bottom:14px}
        .foot-grid ul{list-style:none}
        .foot-grid li{margin-bottom:8px}
        .foot-grid a{text-decoration:none}
        .foot-grid a:hover{color:var(--orange)}
        .foot-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:44px;padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:14px;color:rgba(255,255,255,.5)}

        @media(max-width:1080px){.nav-links{gap:18px}.nav-links a{font-size:15px}.nav-cta{padding:8px 14px}}
        @media(max-width:1024px){
            .nav-links{display:none;position:absolute;top:68px;left:0;right:0;background:var(--anthrazit-tief);flex-direction:column;padding:18px 24px 26px;gap:18px;border-bottom:1px solid rgba(255,255,255,.1)}
            .nav-links{align-items:flex-start}
            .nav-links.open{display:flex}
            .burger{display:block}
        }
        @media(max-width:900px){
            .hero-grid{grid-template-columns:1fr;gap:32px;padding-top:0;padding-bottom:56px}
            .hero-foto{order:-1;margin:0 -24px}
            .hero-foto .frame{aspect-ratio:4/3;max-height:62vh;border-radius:0}
            .hero-foto img{object-position:80% 45%}
            .foto-badge{left:24px;bottom:22px;padding:10px 14px 10px 10px;gap:10px;max-width:calc(100% - 48px)}
            .foto-badge .ico{width:34px;height:34px}
            .foto-badge .ico svg{width:20px;height:20px}
            .foto-badge strong{font-size:15.5px}
            .foto-badge span{display:none}
            .foto-badge{left:16px;bottom:24px;padding:8px 14px 8px 8px}
            .foto-badge .ico{width:30px;height:30px}
            .trust-row{grid-template-columns:1fr;gap:14px;padding-top:22px;padding-bottom:22px}
            .steps{grid-template-columns:1fr}
            .step + .step{border-left:none;border-top:1px solid var(--linie);padding:22px 0 0;margin-top:22px}
            .step{padding-right:0}
            .story-grid{grid-template-columns:1fr;gap:36px}
            .kontakt-grid{grid-template-columns:1fr;gap:40px}
            .foot-grid{grid-template-columns:1fr;gap:28px}
            .f-row{grid-template-columns:1fr}
            section{padding:64px 0}
        }


/*--------------------------------------------------------------
# RevierRumpel – Header
--------------------------------------------------------------*/
:root {
	--anthrazit-tief: #1f2226;
	--anthrazit: #2b2e33;
	--orange: #f25c1a;
	--orange-dunkel: #c94a12;
	--body: 'Barlow', sans-serif;
	--display: 'Barlow Semi Condensed', sans-serif;
}

.site-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: var(--anthrazit-tief);
	color: #fff;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

/* Admin-Leiste für eingeloggte Nutzer */
.admin-bar .site-header { top: 32px; }
@media screen and (max-width: 782px) { .admin-bar .site-header { top: 46px; } }
@media screen and (max-width: 600px) { .admin-bar .site-header { top: 0; } }

.site-header__inner {
	max-width: 1120px;
	height: 68px;
	margin: 0 auto;
	padding: 0 24px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

/* Logo */
.site-branding { flex-shrink: 0; line-height: 0; }
.site-header .custom-logo-link { display: block; }
.site-header .custom-logo { display: block; height: 38px; width: auto; max-width: none; }
.site-header .site-title {
	font-family: var(--display);
	font-weight: 600;
	font-size: 22px;
	line-height: 1;
	color: #fff;
	text-decoration: none;
}

/* Menü */
.site-header .main-navigation { display: block; width: auto; }
.site-header .main-navigation ul {
	display: flex;
	align-items: center;
	gap: 28px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.site-header .main-navigation a {
	display: block;
	color: #fff;
	font-family: var(--body);
	font-size: 15.5px;
	font-weight: 500;
	line-height: 1.4;
	white-space: nowrap;
	text-decoration: none;
	opacity: 0.85;
	transition: opacity 0.15s, color 0.15s;
}
.site-header .main-navigation a:hover,
.site-header .main-navigation a:focus-visible,
.site-header .main-navigation .current-menu-item > a:not([href*="#"]),
.site-header .main-navigation .current_page_item > a:not([href*="#"]),
.site-header .main-navigation .current-menu-ancestor > a:not([href*="#"]) {
	opacity: 1;
	color: var(--orange);
}

/* Untermenüs (falls vorhanden) */
.site-header .main-navigation ul ul {
	display: block;
	min-width: 220px;
	padding: 10px 0;
	background: var(--anthrazit-tief);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 6px;
}
.site-header .main-navigation ul ul a { width: auto; padding: 8px 18px; }

/* Button „Besichtigung anfragen" */
.site-header .main-navigation .nav-cta {
	background: var(--orange);
	color: #fff;
	opacity: 1;
	padding: 9px 18px;
	border-radius: 4px;
}
.site-header .main-navigation .nav-cta:hover,
.site-header .main-navigation .nav-cta:focus-visible {
	background: var(--orange-dunkel);
	color: #fff;
}

/* Burger */
.site-header .menu-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin-right: -10px;
	padding: 0;
	background: none;
	border: 0;
	border-radius: 4px;
	box-shadow: none;
	color: #fff;
	cursor: pointer;
}
.site-header .menu-toggle:focus-visible { outline: 2px solid var(--orange); outline-offset: 2px; }
.menu-toggle__bars,
.menu-toggle__bars::before,
.menu-toggle__bars::after {
	display: block;
	width: 24px;
	height: 2px;
	border-radius: 1px;
	background: currentColor;
	transition: transform 0.2s, background-color 0.2s;
}
.menu-toggle__bars { position: relative; }
.menu-toggle__bars::before,
.menu-toggle__bars::after { content: ""; position: absolute; left: 0; }
.menu-toggle__bars::before { top: -7px; }
.menu-toggle__bars::after { top: 7px; }
.main-navigation.toggled .menu-toggle__bars { background: transparent; }
.main-navigation.toggled .menu-toggle__bars::before { transform: translateY(7px) rotate(45deg); }
.main-navigation.toggled .menu-toggle__bars::after { transform: translateY(-7px) rotate(-45deg); }

@media screen and (max-width: 1080px) {
	.site-header .main-navigation ul { gap: 18px; }
	.site-header .main-navigation a { font-size: 15px; }
	.site-header .main-navigation .nav-cta { padding: 8px 14px; }
}

@media screen and (max-width: 1024px) {
	.site-header .menu-toggle { display: flex; }
	.site-header .main-navigation ul {
		display: none;
		position: absolute;
		top: 68px;
		left: 0;
		right: 0;
		flex-direction: column;
		align-items: flex-start;
		gap: 18px;
		padding: 18px 24px 26px;
		background: var(--anthrazit-tief);
		border-bottom: 1px solid rgba(255, 255, 255, 0.1);
		max-height: calc(100vh - 68px);
		overflow-y: auto;
	}
	.site-header .main-navigation.toggled ul { display: flex; }
	.site-header .main-navigation ul ul {
		position: static;
		display: flex;
		min-width: 0;
		padding: 12px 0 0 16px;
		border: 0;
		box-shadow: none;
		max-height: none;
	}
	.site-header .main-navigation ul ul a { padding: 0; }
	.site-header .main-navigation a { font-size: 16px; }
}

@media (prefers-reduced-motion: reduce) {
	.menu-toggle__bars,
	.menu-toggle__bars::before,
	.menu-toggle__bars::after { transition: none; }
}		

/*--------------------------------------------------------------
# RevierRumpel – Footer
--------------------------------------------------------------*/
.site-footer {
	background: var(--anthrazit-tief);
	color: rgba(255, 255, 255, 0.75);
	padding: 56px 0 40px;
	font-family: var(--body);
	font-size: 15px;
	line-height: 1.65;
}

.site-footer__grid,
.site-footer__bottom {
	max-width: 1120px;
	margin: 0 auto;
	padding-left: 24px;
	padding-right: 24px;
}

.site-footer__grid {
	display: grid;
	grid-template-columns: 1.2fr 1fr 1fr;
	gap: 40px;
}
.site-footer__grid > * { min-width: 0; }

.site-footer__title {
	margin: 0 0 14px;
	font-family: var(--display);
	font-weight: 600;
	font-size: 17px;
	line-height: 1.2;
	color: #fff;
}

.site-footer p { margin: 0; }
.site-footer__note {
	margin-top: 10px !important;
	font-size: 14px;
	color: rgba(255, 255, 255, 0.55);
}

.site-footer__menu {
	margin: 0;
	padding: 0;
	list-style: none;
}
.site-footer__menu li { margin-bottom: 8px; }

.site-footer a {
	color: inherit;
	text-decoration: none;
	transition: color 0.15s;
}
.site-footer a:hover,
.site-footer a:focus-visible { color: var(--orange); }
.site-footer__menu .current-menu-item > a:not([href*="#"]) { color: #fff; }

.site-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 12px 24px;
	font-size: 14px;
	color: rgba(255, 255, 255, 0.5);
}
.site-footer__bottom::before {
	content: "";
	flex-basis: 100%;
	height: 1px;
	margin: 44px 0 10px;
	background: rgba(255, 255, 255, 0.12);
}
.site-footer__credit { flex-basis: 100%; font-size: 13px; color: rgba(255, 255, 255, 0.35); }

@media screen and (max-width: 900px) {
	.site-footer__grid { grid-template-columns: 1fr; gap: 28px; }
}

.post, .page {
	margin-bottom: 0;
}

/*--------------------------------------------------------------
# RevierRumpel – Anfrageformular
# Überschreibt die Standard-Formularstile von Underscores
--------------------------------------------------------------*/
.form {
	background: var(--papier, #f6f5f2);
	border: 1px solid var(--linie, #e2e1dd);
	border-radius: 10px;
	padding: 34px 30px;
}

.form .f-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}
.form .f-row > * { min-width: 0; }
.form .f-field { margin: 0 0 16px; }

.form label {
	display: block;
	margin: 0 0 6px;
	font-family: var(--display);
	font-weight: 600;
	font-size: 14.5px;
	letter-spacing: 0.5px;
	line-height: 1.4;
	color: var(--anthrazit);
}

/* Alle Felder gleich hoch und gleich gestaltet */
.form input[type="text"],
.form input[type="email"],
.form input[type="tel"],
.form select,
.form textarea {
	display: block;
	width: 100%;
	height: 48px;
	margin: 0;
	padding: 0 14px;
	font-family: var(--body);
	font-size: 16px; /* verhindert Zoom auf iOS */
	line-height: 1.4;
	color: var(--anthrazit);
	background-color: #fff;
	border: 1px solid #cfcdc8;
	border-radius: 4px;
	box-shadow: none;
	transition: border-color 0.15s;
}

.form textarea {
	height: auto;
	min-height: 110px;
	padding: 12px 14px;
	resize: vertical;
}

/* Select: eigener Pfeil, damit er überall gleich aussieht */
.form select {
	padding: 0 32px 0 12px;
	text-overflow: ellipsis;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%232b2e33' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 12px 8px;
	cursor: pointer;
}

.form input[type="text"]:hover,
.form input[type="email"]:hover,
.form input[type="tel"]:hover,
.form select:hover,
.form textarea:hover { border-color: #b3b0aa; }

.form input[type="text"]:focus,
.form input[type="email"]:focus,
.form input[type="tel"]:focus,
.form select:focus,
.form textarea:focus {
	color: var(--anthrazit);
	border-color: var(--orange);
	outline: none;
}
.form input[type="text"]:focus-visible,
.form input[type="email"]:focus-visible,
.form input[type="tel"]:focus-visible,
.form select:focus-visible,
.form textarea:focus-visible {
	outline: 3px solid rgba(242, 92, 26, 0.35);
	outline-offset: 1px;
}

/* Datenschutz-Checkbox */
.form .f-check {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	margin: 4px 0 18px;
}
.form .f-check input[type="checkbox"] {
	width: 20px;
	height: 20px;
	margin: 3px 0 0;
	padding: 0;
	flex-shrink: 0;
	accent-color: var(--orange);
	cursor: pointer;
}
.form .f-check label {
	margin: 0;
	font-family: var(--body);
	font-weight: 400;
	font-size: 15px;
	letter-spacing: 0;
	line-height: 1.5;
	color: #565b63;
	cursor: pointer;
}
.form .f-check label a { color: var(--orange-dunkel); text-underline-offset: 3px; }
.form .f-check.invalid input[type="checkbox"] { outline: 2px solid #c0392b; outline-offset: 2px; }
.form .f-err { display: none; margin: -8px 0 16px 32px; font-size: 14.5px; color: #b0301f; }

/* Absenden-Button */
.form button,
.form .btn {
	display: block;
	width: 100%;
	margin: 0;
	padding: 15px 24px;
	font-family: var(--display);
	font-weight: 600;
	font-size: 17px;
	letter-spacing: 0.5px;
	line-height: 1.2;
	text-align: center;
	color: #fff;
	background: var(--orange);
	border: 0;
	border-radius: 4px;
	box-shadow: none;
	cursor: pointer;
	transition: background-color 0.15s;
}
.form button:hover,
.form .btn:hover { background: var(--orange-dunkel); }
.form button:focus-visible,
.form .btn:focus-visible { outline: 3px solid rgba(242, 92, 26, 0.35); outline-offset: 2px; }

.form .form-ok {
	display: none;
	margin-top: 16px;
	padding: 14px 18px;
	font-size: 15.5px;
	color: #245c2e;
	background: #e8f4ea;
	border: 1px solid #b7dcbd;
	border-radius: 6px;
}

@media screen and (max-width: 900px) {
	.form { padding: 26px 20px; }
	.form .f-row { grid-template-columns: 1fr; gap: 0; }
}

/*--------------------------------------------------------------
# RevierRumpel – Buttons
# Alle Zustände (auch :visited) explizit, damit die
# Link-Farben von Underscores nicht durchschlagen.
--------------------------------------------------------------*/
.btn,
.btn:visited {
	display: inline-block;
	font-family: var(--display);
	font-weight: 600;
	font-size: 17px;
	letter-spacing: 0.5px;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	padding: 15px 30px;
	border-radius: 4px;
	transition: background-color 0.15s, color 0.15s, border-color 0.15s;
}

.btn:focus { outline: none; }
.btn:focus-visible { outline: 3px solid rgba(242, 92, 26, 0.35); outline-offset: 2px; }

/* Orange */
.btn-orange,
.btn-orange:visited {
	background: var(--orange);
	border: 0;
	color: #fff;
}
.btn-orange:hover,
.btn-orange:focus,
.btn-orange:active {
	background: var(--orange-dunkel);
	color: #fff;
}

/* Kontur */
.btn-ghost,
.btn-ghost:visited {
	background: transparent;
	border: 2px solid var(--anthrazit);
	color: var(--anthrazit);
}
.btn-ghost:hover,
.btn-ghost:focus,
.btn-ghost:active {
	background: var(--anthrazit);
	border-color: var(--anthrazit);
	color: #fff;
}

/*--------------------------------------------------------------
# RevierRumpel – Rechtstexte (Impressum, Datenschutz)
# Nur Stile, die in style.css noch fehlen.
# Selektoren sind so gewählt, dass sie die Underscores-Defaults
# (p, ul/ol, dt/dd, Links) sicher überschreiben.
--------------------------------------------------------------*/

/* Kopfbereich */
.legal-head {
	background: var(--papier);
	padding-top: 72px;
	padding-bottom: 44px;
}
.legal-head h1 {
	margin: 16px 0 14px;
	font-size: clamp(32px, 4.2vw, 50px);
}
.legal-head p {
	margin: 0;
	max-width: 620px;
	font-size: 18px;
	color: #565b63;
}

/* Inhaltsbereich */
.legal {
	background: var(--weiss);
	border-top: 1px solid var(--linie);
	padding-top: 64px;
	padding-bottom: 88px;
}
.legal-grid {
	display: grid;
	grid-template-columns: 230px 1fr;
	gap: 64px;
	align-items: start;
}
.legal-grid > * { min-width: 0; }

/* Ohne Inhaltsverzeichnis: eine Spalte */
.legal-grid:not(:has(.toc)) { grid-template-columns: 1fr; }

/* Inhaltsverzeichnis */
.toc {
	position: sticky;
	top: 96px;
}
.admin-bar .toc { top: 128px; }
.toc h2 {
	margin: 0 0 14px;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--stein);
}
.toc ol {
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: toc;
	border-left: 2px solid var(--linie);
}
.toc li { counter-increment: toc; }
.toc a,
.toc a:visited {
	display: block;
	margin-left: -2px;
	padding: 6px 0 6px 16px;
	border-left: 2px solid transparent;
	font-size: 15px;
	line-height: 1.4;
	color: #565b63;
	text-decoration: none;
}
.toc a::before {
	content: counter(toc) ". ";
	color: var(--stein);
}
.toc a:hover,
.toc a:focus-visible {
	color: var(--orange-dunkel);
	border-left-color: var(--orange);
}

/* Text */
.doc { max-width: 720px; }
.doc h2 {
	margin: 52px 0 14px;
	font-size: clamp(22px, 2.4vw, 27px);
	scroll-margin-top: 92px;
}
.admin-bar .doc h2 { scroll-margin-top: 124px; }
.doc h2:first-child { margin-top: 0; }
.doc h3 {
	margin: 28px 0 8px;
	font-size: 19px;
}
.doc p,
.doc li {
	font-size: 16.5px;
	color: #454a52;
}
.doc p { margin: 0; }
.doc p + p { margin-top: 12px; }
.doc ul {
	margin: 10px 0 0 20px;
	padding: 0;
	list-style: disc;
}
.doc li { margin-bottom: 6px; }
.doc li::marker { color: var(--orange); }
.doc a,
.doc a:visited {
	color: var(--orange-dunkel);
	text-underline-offset: 3px;
}
.doc a:hover,
.doc a:focus { color: var(--orange); }
.doc strong {
	font-weight: 500;
	color: var(--anthrazit);
}

/* Faktenbox (Anbieter, Kontakt …) */
.facts {
	margin: 6px 0 0;
	border: 1px solid var(--linie);
	border-radius: 8px;
	overflow: hidden;
}
.fact {
	display: grid;
	grid-template-columns: 200px 1fr;
	gap: 20px;
	padding: 16px 22px;
	border-top: 1px solid var(--linie);
}
.fact:first-child { border-top: 0; }
.fact dt {
	font-family: var(--display);
	font-weight: 600;
	font-size: 14.5px;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--orange);
}
.fact dd {
	margin: 0;
	color: var(--anthrazit);
}
.fact dd a,
.fact dd a:visited { color: inherit; }
.fact dd a:hover { color: var(--orange-dunkel); }

/* Stand */
.doc .stand {
	margin-top: 52px;
	padding-top: 20px;
	border-top: 1px solid var(--linie);
	font-size: 14.5px;
	color: var(--stein);
}

@media screen and (max-width: 900px) {
	.legal-head { padding-top: 48px; padding-bottom: 32px; }
	.legal { padding-top: 40px; padding-bottom: 64px; }
	.legal-grid { grid-template-columns: 1fr; gap: 36px; }
	.toc,
	.admin-bar .toc {
		position: static;
		padding: 20px 20px 14px;
		background: var(--papier);
		border: 1px solid var(--linie);
		border-radius: 8px;
	}
	.fact { grid-template-columns: 1fr; gap: 4px; }
}

/*--------------------------------------------------------------
# RevierRumpel – AGB (Ergänzung zu legal-styles.css)
--------------------------------------------------------------*/
.clause{display:grid;grid-template-columns:48px 1fr;gap:0 10px}
.clause .nr{font-family:var(--display);font-weight:600;color:var(--orange);font-size:16px;padding-top:1px}
.doc .clause + .clause{margin-top:12px}
.doc .sub-list{margin:10px 0 12px 58px}
.doc ol.sub-list{list-style:none;counter-reset:sub;padding:0}
.doc ol.sub-list li{counter-increment:sub;position:relative;padding-left:26px}
.doc ol.sub-list li::before{content:counter(sub,lower-alpha) ")";position:absolute;left:0;font-family:var(--display);font-weight:600;color:var(--orange)}
.toc{max-height:calc(100vh - 120px);overflow-y:auto;overscroll-behavior:contain}
.doc .clause-cont{margin-left:58px}
.legal-box{background:var(--papier);border:1px solid var(--linie);border-left:4px solid var(--orange);border-radius:0 8px 8px 0;padding:24px 26px;margin-top:22px}
.legal-box h3{margin:0 0 12px;font-size:21px}
.legal-box h4{font-family:var(--display);font-weight:600;font-size:17px;margin:20px 0 6px;color:var(--anthrazit)}
.legal-box--muster{background:var(--weiss);border:1.5px dashed #b9b6b0;border-radius:8px}
.legal-box .field{padding-bottom:22px;border-bottom:1px solid var(--linie);margin-top:14px!important}
.doc .note-after{margin-top:18px;font-size:15.5px}
@media screen and (max-width: 900px){
  .clause{grid-template-columns:40px 1fr}
  .doc .sub-list{margin-left:48px}
  .doc .clause-cont{margin-left:50px}
  .legal-box{padding:20px 18px}
  .toc{max-height:none;overflow:visible}
}

/*--------------------------------------------------------------
# Schriften lokal (statt Google Fonts) – ganz oben in style.css einfügen
# Dateien liegen im Theme-Ordner /fonts/
--------------------------------------------------------------*/
@font-face {
	font-family: 'Barlow';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('fonts/barlow-latin-400-normal.woff2') format('woff2');
}
@font-face {
	font-family: 'Barlow';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url('fonts/barlow-latin-500-normal.woff2') format('woff2');
}
@font-face {
	font-family: 'Barlow Semi Condensed';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url('fonts/barlow-semi-condensed-latin-500-normal.woff2') format('woff2');
}
@font-face {
	font-family: 'Barlow Semi Condensed';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('fonts/barlow-semi-condensed-latin-600-normal.woff2') format('woff2');
}

/*--------------------------------------------------------------
# RevierRumpel – Ratgeber (Blog)
# Übersicht (home.php / category.php) und Beitrag (single.php)
#
# Voraussetzung: Variablen, .wrap, .eyebrow, .hatch, .btn aus style.css.
# Wichtig: Die Karte heißt .post-card (nicht .post), weil WordPress
# über post_class() jedem Beitrag selbst die Klasse "post" gibt.
--------------------------------------------------------------*/

/* ==========================================================
   Übersicht
   ========================================================== */

.blog-head {
	background: var(--papier);
	padding: 72px 0 40px;
}
.blog-head h1 {
	margin: 16px 0;
	max-width: 720px;
	font-size: clamp(32px, 4.2vw, 50px);
}
.blog-head p {
	margin: 0;
	max-width: 600px;
	font-size: 18.5px;
	color: #565b63;
}

/* Filter = Links auf Kategorie-Archive */
.filter {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 34px 0 0;
	padding: 0;
	list-style: none;
}
.chip,
.chip:visited {
	display: inline-block;
	padding: 8px 16px;
	font-family: var(--display);
	font-weight: 500;
	font-size: 15.5px;
	letter-spacing: 0.5px;
	line-height: 1.3;
	color: var(--anthrazit);
	text-decoration: none;
	background: transparent;
	border: 1px solid #cfcdc8;
	border-radius: 4px;
	transition: border-color 0.15s, color 0.15s, background-color 0.15s;
}
.chip:hover,
.chip:focus-visible {
	color: var(--orange);
	border-color: var(--orange);
}
.chip.is-active,
.chip[aria-current="page"] {
	color: #fff;
	background: var(--anthrazit);
	border-color: var(--anthrazit);
}

.blog-main {
	padding-top: 24px;
	padding-bottom: 88px;
}

/* Hervorgehobener Beitrag (Sticky) */
.feat,
.feat:visited {
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	margin-bottom: 44px;
	color: #fff;
	text-decoration: none;
	background: var(--anthrazit);
	border-radius: 10px;
	overflow: hidden;
}
.feat > * { min-width: 0; }
.feat-body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 44px 40px;
}
.feat-body h2 {
	margin: 12px 0 14px;
	font-size: clamp(24px, 2.8vw, 34px);
	color: #fff;
}
.feat-body p {
	margin: 0;
	color: rgba(255, 255, 255, 0.75);
}
.feat-more {
	margin-top: 26px;
	font-family: var(--display);
	font-weight: 600;
	font-size: 16.5px;
	color: var(--orange);
}
.feat:hover .feat-more,
.feat:focus-visible .feat-more {
	text-decoration: underline;
	text-underline-offset: 4px;
}
.feat-art {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 260px;
	background: var(--anthrazit-tief);
}
.feat-art img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.feat-art svg { width: min(240px, 55%); height: auto; }
.feat-art::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 10px;
	background: repeating-linear-gradient(-45deg, var(--orange) 0 14px, var(--anthrazit) 14px 28px);
}

/* Meta & Kategorie */
.meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 14px;
	font-size: 14px;
	color: var(--stein);
}
.feat .meta { margin-top: 20px; color: rgba(255, 255, 255, 0.55); }
.cat {
	font-family: var(--display);
	font-weight: 600;
	font-size: 12.5px;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--orange);
}

/* Karten */
.posts {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 22px;
}
.post-card,
.post-card:visited {
	display: flex;
	flex-direction: column;
	color: inherit;
	text-decoration: none;
	background: var(--weiss);
	border: 1px solid var(--linie);
	border-radius: 8px;
	overflow: hidden;
	transition: border-color 0.15s;
}
.post-card:hover,
.post-card:focus-visible { border-color: var(--orange); }
.post-card:hover h3,
.post-card:focus-visible h3 { color: var(--orange-dunkel); }

.thumb {
	position: relative;
	height: 128px;
	border-bottom: 1px solid var(--linie);
	overflow: hidden;
}
.thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.thumb svg {
	position: absolute;
	right: 22px;
	bottom: 18px;
	width: 64px;
	height: 64px;
}
/* Fallback-Farben je Kategorie (Slug) */
.t-recht-ablauf { background: var(--anthrazit); }
.t-praxis { background: #ece9e2; }
.t-dokumentation { background: repeating-linear-gradient(0deg, #f6f5f2 0 21px, #e2e1dd 21px 22px); }
.t-kosten { background: var(--orange); }
.t-nachlass { background: #3a3e44; }

.post-body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 24px 24px 26px;
}
.post-card h3 {
	margin: 10px 0;
	font-size: 21px;
	color: var(--anthrazit);
	transition: color 0.15s;
}
.post-card p {
	flex: 1;
	margin: 0;
	font-size: 16px;
	color: #565b63;
}
.post-card .meta {
	margin-top: 18px;
	padding-top: 14px;
	border-top: 1px solid var(--linie);
}

.blog-empty {
	padding: 40px 0;
	color: #565b63;
}

/* Pagination (the_posts_pagination) */
.pagination { margin-top: 48px; }
.pagination .nav-links {
	display: flex !important; /* gegen alte Header-Regeln für .nav-links */
	position: static !important;
	flex-direction: row !important;
	flex-wrap: wrap;
	gap: 8px;
	padding: 0 !important;
	background: none !important;
	border: 0 !important;
}
.pagination .page-numbers,
.pagination .page-numbers:visited {
	display: inline-grid;
	place-items: center;
	min-width: 42px;
	height: 42px;
	padding: 0 12px;
	font-family: var(--display);
	font-weight: 600;
	font-size: 16px;
	color: var(--anthrazit);
	text-decoration: none;
	border: 1px solid #cfcdc8;
	border-radius: 4px;
}
.pagination a.page-numbers:hover { color: var(--orange); border-color: var(--orange); }
.pagination .page-numbers.current { color: #fff; background: var(--anthrazit); border-color: var(--anthrazit); }
.pagination .page-numbers.dots { border: 0; min-width: auto; }

/* CTA-Block unter Übersicht und Beitrag */
.cta {
	padding: 0;
	background: var(--weiss);
	border-top: 1px solid var(--linie);
}
.cta-grid {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 32px;
	align-items: center;
	padding-top: 64px;
	padding-bottom: 64px;
}
.cta h2 { margin: 12px 0 0; font-size: clamp(24px, 2.8vw, 32px); }
.cta p { margin: 10px 0 0; max-width: 560px; color: #565b63; }
.cta-btns { display: flex; flex-wrap: wrap; gap: 14px; }

/* ==========================================================
   Beitrag
   ========================================================== */

/* Lesefortschritt */
.progress {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 60;
	width: 100%;
	height: 3px;
	background: var(--orange);
	transform: scaleX(0);
	transform-origin: 0 50%;
	pointer-events: none;
}
.admin-bar .progress { top: 32px; }
@media screen and (max-width: 782px) { .admin-bar .progress { top: 46px; } }

/* Brotkrumen */
.crumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	font-size: 14.5px;
	color: var(--stein);
}
.crumbs a,
.crumbs a:visited { color: #565b63; text-decoration: none; }
.crumbs a:hover { color: var(--orange-dunkel); }
.crumbs span[aria-hidden] { color: #c3c1bc; }

/* Kopf */
.art-head {
	background: var(--papier);
	padding: 44px 0 48px;
}
.art-head .cat { display: inline-block; margin-top: 34px; }
.art-head h1 {
	margin: 12px 0 18px;
	max-width: 860px;
	font-size: clamp(30px, 4vw, 48px);
}
.art-lead {
	margin: 0;
	max-width: 720px;
	font-size: 19px;
	color: #565b63;
}
.byline {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 22px;
	margin-top: 28px;
	font-size: 15px;
	color: #565b63;
}
.byline .who { display: flex; align-items: center; gap: 12px; }
.byline strong { font-weight: 500; color: var(--anthrazit); }
.byline .sep { width: 1px; height: 18px; background: var(--linie); }
.avatar {
	display: grid;
	place-items: center;
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	background: var(--anthrazit);
	border-radius: 50%;
	overflow: hidden;
}
.avatar svg { width: 22px; height: 22px; }
.avatar img { width: 100%; height: 100%; object-fit: cover; }

/* Layout */
.art-wrap {
	background: var(--weiss);
	padding: 64px 0 80px;
}
.art-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 280px;
	gap: 72px;
	align-items: start;
}
.art-grid > * { min-width: 0; }

/* Beitragsbild */
.art-image { margin: 0 0 36px; max-width: 700px; }
.art-image img { display: block; width: 100%; height: auto; border-radius: 10px; }

/* Text (the_content) */
.prose {
	max-width: 700px;
	font-size: 18px;
	line-height: 1.75;
	color: #3b4047;
}
.prose > * { margin-top: 0; margin-bottom: 0; }
.prose > * + * { margin-top: 20px; }
.prose p { margin: 0; }
.prose > * + p { margin-top: 20px; }
.prose h2 {
	margin-top: 56px;
	font-size: clamp(24px, 2.6vw, 30px);
	line-height: 1.2;
	color: var(--anthrazit);
	scroll-margin-top: 92px;
}
.admin-bar .prose h2 { scroll-margin-top: 124px; }
.prose h3 { margin-top: 34px; font-size: 21px; color: var(--anthrazit); }
.prose h2 + *,
.prose h3 + * { margin-top: 12px; }
.prose a,
.prose a:visited { color: var(--orange-dunkel); text-underline-offset: 3px; }
.prose a:hover { color: var(--orange); }
.prose strong { font-weight: 500; color: var(--anthrazit); }
.prose ul,
.prose ol { margin-left: 0; padding-left: 22px; }
.prose ul { list-style: disc; }
.prose ul li::marker { color: var(--orange); }
.prose li + li { margin-top: 8px; }
.prose img { border-radius: 8px; }
.prose figcaption {
	margin-top: 8px;
	font-size: 14.5px;
	color: var(--stein);
	text-align: left;
}
.prose blockquote {
	margin-left: 0;
	margin-right: 0;
	padding: 4px 0 4px 22px;
	border-left: 3px solid var(--orange);
	font-style: italic;
}

/* Praxistipp: Block „Gruppe“ mit Klasse tip */
.prose .tip {
	padding: 22px 24px;
	background: var(--papier);
	border-left: 4px solid var(--orange);
	border-radius: 0 8px 8px 0;
}
.prose .tip > * + * { margin-top: 8px; }
.prose .tip-label {
	display: block;
	margin-bottom: 6px;
	font-family: var(--display);
	font-weight: 600;
	font-size: 14px;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--orange);
}
.prose .tip p { font-size: 17px; }

/* Checkliste: nummerierte Liste mit Klasse checklist */
.prose .checklist {
	counter-reset: ck;
	padding: 0;
	list-style: none;
	border: 1px solid var(--linie);
	border-radius: 8px;
	overflow: hidden;
}
.prose .checklist li {
	counter-increment: ck;
	display: grid;
	grid-template-columns: 40px 1fr;
	gap: 14px;
	margin: 0;
	padding: 16px 20px;
	font-size: 17px;
	border-top: 1px solid var(--linie);
}
.prose .checklist li:first-child { border-top: 0; }
.prose .checklist li::before {
	content: counter(ck);
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	margin-top: 1px;
	font-family: var(--display);
	font-weight: 600;
	font-size: 16px;
	color: #fff;
	background: var(--anthrazit);
	border-radius: 4px;
}
.prose .checklist strong { display: block; }

/* Tabellen: eigener Block (.table-scroll) und WordPress-Block „Tabelle“ */
.prose .table-scroll,
.prose .wp-block-table {
	overflow-x: auto;
	border: 1px solid var(--linie);
	border-radius: 8px;
}
.prose table {
	width: 100%;
	min-width: 520px;
	margin: 0;
	border-collapse: collapse;
	font-size: 16px;
	line-height: 1.5;
}
.prose th,
.prose td {
	padding: 14px 18px;
	text-align: left;
	vertical-align: top;
	border: 0;
	border-top: 1px solid var(--linie);
}
.prose thead th {
	border-top: 0;
	font-family: var(--display);
	font-weight: 600;
	font-size: 16px;
	color: #fff;
	background: var(--anthrazit);
}
.prose tbody th { font-family: var(--display); font-weight: 600; color: var(--anthrazit); }
.prose .wp-block-table thead { border-bottom: 0; }
.prose .wp-block-table figcaption,
.prose .table-scroll caption {
	margin: 0;
	padding: 10px 18px;
	font-size: 14px;
	color: var(--stein);
	border-top: 1px solid var(--linie);
}
.prose .table-scroll caption { caption-side: bottom; text-align: left; }

/* Hinweis am Ende */
.prose .note {
	margin-top: 48px;
	padding: 18px 22px;
	font-size: 15px;
	line-height: 1.6;
	color: #565b63;
	border: 1px solid var(--linie);
	border-radius: 8px;
}
.prose .note strong { color: var(--anthrazit); }

/* Fuß des Beitrags */
.art-foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	max-width: 700px;
	margin-top: 48px;
	padding-top: 24px;
	border-top: 1px solid var(--linie);
}
.back,
.back:visited {
	font-family: var(--display);
	font-weight: 600;
	font-size: 16.5px;
	color: var(--anthrazit);
	text-decoration: none;
}
.back:hover { color: var(--orange-dunkel); }
.share { display: flex; gap: 10px; }
.share-btn,
.share-btn:visited {
	display: inline-block;
	padding: 8px 14px;
	font-family: var(--display);
	font-weight: 500;
	font-size: 15px;
	line-height: 1.3;
	color: var(--anthrazit);
	text-decoration: none;
	background: none;
	border: 1px solid #cfcdc8;
	border-radius: 4px;
	cursor: pointer;
}
.share-btn:hover,
.share-btn:focus-visible { color: var(--orange-dunkel); border-color: var(--orange); }

/* Seitenleiste */
.side {
	position: sticky;
	top: 96px;
	display: flex;
	flex-direction: column;
	gap: 22px;
}
.admin-bar .side { top: 128px; }
.side-toc h2 {
	margin: 0 0 12px;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--stein);
}
.side-toc ol {
	margin: 0;
	padding: 0;
	list-style: none;
	border-left: 2px solid var(--linie);
}
.side-toc a,
.side-toc a:visited {
	display: block;
	margin-left: -2px;
	padding: 6px 0 6px 16px;
	font-size: 15px;
	line-height: 1.4;
	color: #565b63;
	text-decoration: none;
	border-left: 2px solid transparent;
}
.side-toc a:hover { color: var(--orange-dunkel); }
.side-toc a.active {
	font-weight: 500;
	color: var(--anthrazit);
	border-left-color: var(--orange);
}
.side-cta {
	padding: 24px 22px;
	color: #fff;
	background: var(--anthrazit);
	border-radius: 10px;
}
.side-cta h2 { margin: 0; font-size: 20px; line-height: 1.25; color: #fff; }
.side-cta p {
	margin: 8px 0 18px;
	font-size: 15px;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.72);
}
.side-cta .btn { display: block; padding: 12px 16px; font-size: 16px; text-align: center; }
.side-cta a.tel,
.side-cta a.tel:visited {
	display: block;
	margin-top: 12px;
	font-size: 15px;
	text-align: center;
	color: rgba(255, 255, 255, 0.8);
	text-decoration: none;
}
.side-cta a.tel:hover { color: #fff; }

/* Inhaltsverzeichnis mobil */
.mob-toc {
	display: none;
	margin: 0 0 32px;
	background: var(--papier);
	border: 1px solid var(--linie);
	border-radius: 8px;
}
.mob-toc summary {
	padding: 16px 20px;
	font-family: var(--display);
	font-weight: 600;
	font-size: 17px;
	cursor: pointer;
}
.mob-toc ol { margin: 0; padding: 0 22px 18px 42px; font-size: 16px; }
.mob-toc li + li { margin-top: 6px; }
.mob-toc a,
.mob-toc a:visited { color: #454a52; text-underline-offset: 3px; }

/* Passende Beiträge */
.related {
	background: var(--papier);
	padding: 72px 0 80px;
}
.related h2 { margin: 12px 0 32px; font-size: clamp(24px, 2.8vw, 32px); }

/* ==========================================================
   Responsive
   ========================================================== */
@media screen and (max-width: 1024px) {
	.art-grid { grid-template-columns: 1fr; gap: 0; }
	.side { display: none; }
	.mob-toc { display: block; }
}

@media screen and (max-width: 900px) {
	.blog-head { padding: 48px 0 28px; }
	.feat { grid-template-columns: 1fr; }
	.feat-art { order: -1; min-height: 170px; }
	.feat-art svg { width: 150px; }
	.feat-body { padding: 30px 24px 32px; }
	.posts { grid-template-columns: 1fr; }
	.cta-grid { grid-template-columns: 1fr; padding-top: 52px; padding-bottom: 52px; }

	.art-head { padding: 28px 0 36px; }
	.art-head .cat { margin-top: 24px; }
	.art-lead { font-size: 17.5px; }
	.art-wrap { padding: 36px 0 56px; }
	.prose { font-size: 17px; }
	.prose h2 { margin-top: 44px; }
	.prose .checklist li { grid-template-columns: 30px 1fr; gap: 12px; padding: 14px 16px; font-size: 16px; }
	.related { padding: 52px 0 56px; }
}

@media screen and (max-width: 420px) {
	.cta-btns .btn { width: 100%; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
	.progress { display: none; }
}

/*--------------------------------------------------------------
# Kompatibilität: Karten aus dem statischen HTML (class="post")
# Nur innerhalb von .posts, damit der Beitrag selbst
# (post_class() → "post") nicht betroffen ist.
--------------------------------------------------------------*/
.posts > .post,
.posts > .post:visited {
	display: flex;
	flex-direction: column;
	margin: 0;
	color: inherit;
	text-decoration: none;
	background: var(--weiss);
	border: 1px solid var(--linie);
	border-radius: 8px;
	overflow: hidden;
	transition: border-color 0.15s;
}
.posts > .post:hover,
.posts > .post:focus-visible { border-color: var(--orange); }

.posts > .post h3 {
	margin: 10px 0;
	font-size: 21px;
	color: var(--anthrazit);
	transition: color 0.15s;
}
.posts > .post:hover h3 { color: var(--orange-dunkel); }

.posts > .post p {
	flex: 1;
	margin: 0;
	font-size: 16px;
	color: #565b63;
}

.posts > .post .meta {
	margin-top: 18px;
	padding-top: 14px;
	border-top: 1px solid var(--linie);
}

/* Alte Klassennamen der Kategorie-Flächen */
.t-recht { background: var(--anthrazit); }
.t-doku { background: repeating-linear-gradient(0deg, #f6f5f2 0 21px, #e2e1dd 21px 22px); }