/* Gemeinsame responsive Regeln – Header, Schrift und Scrollverhalten */
html { scroll-padding-top: 0 !important; }
body { font-family: "DM Sans", Arial, sans-serif; }
.topbar, .navbar, .herz-footer { font-family: "DM Sans", Arial, sans-serif; }
.navbar { position:relative; z-index:1030; width:100%; }
.navbar > .container { display:flex; align-items:center; flex-wrap:nowrap; gap:10px; min-width:0; }
.navbar .brand { display:flex; align-items:center; min-width:0; flex:0 1 auto; max-width:calc(100% - 68px); gap:10px; text-decoration:none; }
.navbar .brand > span:last-child { min-width:0; overflow-wrap:anywhere; line-height:1.12; }
.navbar .brand small { display:block; }
.navbar .brand-mark { flex:0 0 auto; }
.navbar .navbar-toggler { flex:0 0 auto; margin-left:auto; position:relative; z-index:2; }
.navbar .navbar-collapse { min-width:0; }
.navbar .nav-link, .navbar .dropdown-item { font-family:"DM Sans", Arial, sans-serif; }
.navbar .btn-premium { display:inline-flex; align-items:center; justify-content:center; text-align:center; }
@media(max-width:991.98px) {
 .navbar > .container { display:grid !important; grid-template-columns:minmax(0,1fr) auto; align-items:center; column-gap:8px; }
 .navbar .brand { grid-column:1; max-width:100% !important; width:auto; min-width:0; font-size:clamp(.86rem,3.5vw,1.18rem); }
 .navbar .brand-mark { width:clamp(34px,10vw,46px); height:clamp(34px,10vw,46px); }
 .navbar .navbar-toggler { grid-column:2; grid-row:1; margin:0 !important; }
 .navbar .navbar-collapse { grid-column:1 / -1; width:100%; margin-top:10px; }
 .navbar .navbar-nav { width:100%; align-items:stretch !important; }
 .navbar .nav-item { width:100%; }
 .navbar .dropdown-menu { position:static; max-width:100%; }
 .navbar .dropdown-item { white-space:normal; }
}
@media(max-width:360px) {
 .navbar > .container { padding-left:10px; padding-right:10px; }
 .navbar .brand { gap:5px; font-size:.82rem; }
 .navbar .navbar-toggler { padding:5px 7px; }
}
