/* Madeja: gezielte Korrekturen, nach den Base-Stylesheets geladen. */

/* Typografie */
.madeja-site h1 {font-weight:400;letter-spacing:-.035em;}
.madeja-site h2,
.madeja-site .site-sitemap-card h2,
.madeja-site .mj-contact-card h2 {font-weight:400;}
.madeja-site .site-sitemap-intro h1 {font-weight:400;line-height:1.12;}
.madeja-site .mj-introduction,
.madeja-site .mj-introduction p {text-align:left;}

/* Die Navigation bleibt bis zum Smartphone-Hochformat sichtbar. */
.mj-navbar .navbar-toggler {display:none;}
.mj-navbar .navbar-collapse {display:flex!important;flex-basis:auto;align-items:center;}
.mj-navbar .navbar-nav {flex-direction:row;align-items:center;}
.mj-navbar .nav-link {white-space:nowrap;}

@media (min-width:576px) and (max-width:991.98px) {
	.mj-navbar {min-height:80px;}
	.mj-navbar .container-xl {flex-wrap:nowrap;gap:7px;}
	.mj-navbar .mj-logo img {width:clamp(132px,21vw,205px);max-width:none;}
	.mj-navbar .navbar-collapse {min-width:0;}
	.mj-navbar .mj-menu {flex-direction:row;align-items:center;gap:0;padding:0;margin:0;}
	.mj-navbar .mj-menu .nav-link {font-size:clamp(.69rem,1.15vw,.84rem);padding:9px 5px!important;}
	.mj-navbar .mj-menu .mj-nav-contact {margin:0 0 0 3px;padding:9px 8px!important;}
	.mj-navbar .mj-menu .mj-nav-contact span {margin-left:2px;}
	.mj-navbar .mj-menu .nav-link.active:not(.mj-nav-contact):after {left:5px;right:5px;bottom:3px;width:auto;}
}
@media (max-width:575.98px) {
	.mj-navbar .navbar-toggler {display:block;}
	.mj-navbar .navbar-collapse {display:none!important;flex-basis:100%;}
	.mj-navbar .navbar-collapse.show,
	.mj-navbar .navbar-collapse.collapsing {display:block!important;}
	.mj-navbar .navbar-nav {flex-direction:column;align-items:stretch;}
	.mj-navbar .mj-menu {padding:14px 0;}
	.mj-navbar .mj-menu .nav-link {font-size:1rem;padding:10px!important;}
	.mj-navbar .mj-menu .mj-nav-contact {margin:8px 0 0;padding:11px 15px!important;}
}

/* HTML-Sitemap: Kanzleifarben statt Blau / TuS-Standard. */
.madeja-site .site-sitemap-page {background:var(--mj-bg);}
.madeja-site .site-sitemap-kicker,
.madeja-site .site-sitemap-arrow {color:var(--mj-red);}
.madeja-site .site-sitemap-card {border-top-color:var(--mj-red);}
.madeja-site .site-sitemap-card a {color:var(--mj-ink);}
.madeja-site .site-sitemap-card a:hover,
.madeja-site .site-sitemap-card a:focus-visible {color:var(--mj-red);}
.madeja-site .site-sitemap-card h2,
.madeja-site .site-sitemap-intro h1 {color:var(--mj-ink);}
.madeja-site .site-sitemap-intro>p:last-child {color:var(--mj-muted);}
.madeja-site .site-sitemap-news {background:var(--mj-ink);}

/* Kontakt: Formular mit Kontaktinformationen. */
.mj-contact-section {padding:66px 0 100px;}
.mj-contact-grid {display:grid;grid-template-columns:minmax(0,1.15fr) minmax(285px,.85fr);gap:clamp(32px,5vw,80px);align-items:start;}
.mj-contact-form {min-width:0;}
.mj-contact-form h2 {font-size:clamp(1.65rem,2.7vw,2.25rem);margin:0 0 16px;}
.mj-contact-intro {max-width:650px;margin:0 0 34px;color:var(--mj-muted);line-height:1.8;}
.mj-contact-form .contact-field {margin-bottom:20px!important;}
.mj-contact-form .form-label {display:block;margin-bottom:7px;}
.mj-contact-form .form-control {width:100%;}
.mj-contact-form .btn-primary {min-height:48px;padding:10px 24px;}
.mj-contact-sidebar {min-width:0;}
.mj-contact-card {background:#30363a;color:#e4e6e8;padding:clamp(26px,3.3vw,45px);}
.mj-contact-card h2 {color:#fff;font-size:clamp(1.7rem,2.6vw,2.3rem);font-weight:500;margin:0 0 20px;}
.mj-contact-card .mj-overline {color:#ffb7be;}
.mj-contact-card>p:not(.mj-overline) {color:#d4d9dc;line-height:1.8;}
.mj-contact-card address {margin:24px 0 18px;font-style:normal;line-height:1.75;color:#fff;}
.mj-contact-card address span {display:block;}
.mj-contact-info {border-top:1px solid #59646a;padding:16px 0;}
.mj-contact-info>span {display:block;margin-bottom:6px;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#c3c9cd;}
.mj-contact-info a {font-size:1.05rem;color:#fff;overflow-wrap:anywhere;}
.mj-contact-info a:hover {color:#ffb7be;}
.mj-contact-info p {color:#fff;margin:0;}
.mj-contact-hint {border:1px solid var(--mj-line);border-top:0;padding:22px 28px;background:#fff;}
.mj-contact-hint strong {display:block;margin-bottom:7px;}
.mj-contact-hint p {margin:0;color:var(--mj-muted);font-size:.92rem;}

/* Zurück nach oben */
.mj-to-top {position:fixed;right:22px;bottom:22px;z-index:100;border:0;border-radius:0;width:48px;height:48px;display:grid;place-items:center;background:var(--mj-red);color:#fff;font-size:1.45rem;line-height:1;box-shadow:0 9px 20px rgba(0,0,0,.18);cursor:pointer;transition:background .15s,transform .15s;}
.mj-to-top:hover {background:var(--mj-red-dark);transform:translateY(-3px);}
.mj-to-top:focus-visible {outline:3px solid var(--mj-red-dark);outline-offset:3px;}
.mj-to-top[hidden] {display:none;}

@media (max-width:991.98px) {
	.mj-contact-grid {grid-template-columns:1fr;gap:34px;}
}
@media (max-width:575.98px) {
	.mj-contact-section {padding:46px 0 70px;}
	.mj-to-top {right:14px;bottom:14px;width:44px;height:44px;}
}

/* Bürozeiten, Kontaktangaben: Topbar und Footer */
.mj-topbar-inner {flex-wrap:wrap;gap:8px 18px;padding-top:6px;padding-bottom:6px;}
.mj-topbar-hours {display:flex;flex-wrap:wrap;align-items:center;gap:4px 15px;line-height:1.5;}
.mj-topbar-hours strong {font-weight:600;color:#fff;}
.mj-topbar-hours span {white-space:nowrap;}
.mj-topbar-links {flex-wrap:wrap;gap:7px 17px;margin-left:auto;}
.mj-footer-contact {display:flex;flex-wrap:wrap;gap:5px 9px;margin:0 0 8px;overflow-wrap:anywhere;}
.mj-footer-contact strong,.mj-footer-hours>strong {color:#fff;font-weight:500;}
.mj-footer-hours {display:flex;flex-direction:column;gap:3px;margin-top:19px;font-size:.86rem;}
.mj-footer-hours>strong {margin-bottom:4px;}
.mj-contact-info p + p {margin-top:3px;}
@media (max-width:1000px) {
	.mj-topbar-inner {justify-content:center;}
	.mj-topbar-hours,.mj-topbar-links {justify-content:center;}
	.mj-topbar-links {margin-left:0;}
}
@media (max-width:575.98px) {
	.mj-topbar-hours {width:100%;justify-content:center;gap:2px 11px;text-align:center;}
	.mj-topbar-hours strong {width:100%;}
	.mj-topbar-links {width:100%;justify-content:center;}
}

/* Kanzleianschrift unter Kontaktdaten statt in der Rechtliches-Spalte */
.mj-footer-address {margin:0 0 17px;color:inherit;font-style:normal;line-height:1.7;}
