/* Impressum – auf global.css abgestimmt */
body{
  background:#0a0a0a;
  color:#f5f5f0;
}

.legal-hero{
  position:relative;
  min-height:44vh;
  display:grid;
  align-items:center;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(0,0,0,.90) 0%,rgba(0,0,0,.66) 48%,rgba(0,0,0,.32) 100%),
    url('/images/taxi-tuebingen-neckarbruecke-tuebingen.jpeg') center/cover no-repeat;
}
.legal-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.34));
  pointer-events:none;
}
.legal-hero-inner{
  position:relative;
  z-index:1;
  padding:74px 0 68px;
  max-width:760px;
}
.legal-eyebrow{
  display:inline-block;
  margin-bottom:14px;
  color:var(--brand);
  font-size:.88rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.legal-hero h1{
  margin:0;
  font-size:clamp(3rem,6vw,5.6rem);
  line-height:.96;
  letter-spacing:-.05em;
  font-weight:650;
  color:#fff;
}
.legal-hero-copy{
  max-width:640px;
  margin-top:18px;
  color:rgba(255,255,255,.82);
  font-size:1.06rem;
}
.legal-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}
.legal-hero-actions .btn{
  min-height:48px;
  padding:0 20px;
  border-radius:999px;
}
.legal-hero-actions .btn-secondary{
  border:1px solid rgba(255,255,255,.32);
  color:#fff;
  background:rgba(255,255,255,.06);
}

.legal-wrap{
  padding:58px 0 84px;
  background:#0a0a0a;
}
.breadcrumbs{
  display:flex;
  gap:8px;
  align-items:center;
  margin-bottom:22px;
  color:#a9a9a2;
  font-size:.9rem;
}
.breadcrumbs a{
  color:#fff;
}
.legal-grid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);
  gap:18px;
  align-items:start;
}
.impressum-container>h1{
  display:none;
}
.impressum-container section,
.side-card{
  padding:24px;
  margin:0 0 14px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
  background:#141414;
}
.impressum-container section:first-of-type{
  border-color:rgba(255,214,10,.28);
  background:linear-gradient(135deg,rgba(255,214,10,.08),#141414 45%);
}
.impressum-container h2,
.side-card h2{
  margin:0 0 12px;
  font-size:1.28rem;
  line-height:1.15;
  color:#fff;
}
.impressum-container p,
.impressum-container address,
.side-card p{
  margin:0;
  color:#d6d6cf;
  font-style:normal;
}
.impressum-container strong,
.side-card strong{
  color:#fff;
}
.impressum-container a,
.side-card a{
  color:var(--brand);
  text-decoration:underline;
  text-underline-offset:3px;
}
.identity-list{
  display:grid;
  gap:10px;
}
.identity-item{
  padding:14px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  background:#101010;
}
.identity-item span{
  display:block;
  margin-bottom:4px;
  color:var(--brand);
  font-size:.72rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.notice{
  margin-top:16px;
  padding:14px;
  border-radius:14px;
  background:rgba(255,214,10,.08);
  border:1px solid rgba(255,214,10,.24);
  color:#ddd9ca;
}

@media(max-width:900px){
  .legal-grid{grid-template-columns:1fr}
}
@media(max-width:650px){
  .legal-hero{min-height:auto}
  .legal-hero-inner{padding:64px 0 58px}
  .legal-hero-actions{display:grid}
  .legal-hero-actions .btn{width:100%}
}

/* FIX: Primärer Anrufen-Button – Kontrast gegen global.css absichern */
.legal-hero-actions a.btn.btn-primary{
  background:var(--brand) !important;
  color:#000 !important;
  opacity:1 !important;
}
.legal-hero-actions a.btn.btn-primary:hover,
.legal-hero-actions a.btn.btn-primary:focus-visible{
  color:#000 !important;
  opacity:1 !important;
}

/* Primärbutton explizit absichern */
.legal-hero-actions a.btn.btn-primary{
  background:#ffd60a !important;
  color:#000 !important;
  border-color:#ffd60a !important;
  opacity:1 !important;
  filter:none !important;
}
