/* SSV Staging Builder – nur für die Staging-Entwürfe */
:root {
  --ssv-red: #d71920;
  --ssv-dark: #1f1f1f;
  --ssv-muted: #666;
  --ssv-light: #f5f5f5;
}

.ssv-home-hero {
  position: relative;
  overflow: hidden;
}
.ssv-home-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.46);
  z-index: 0;
  pointer-events: none;
}
.ssv-home-hero > .e-con-inner,
.ssv-home-hero > .elementor-element,
.ssv-home-hero > * {
  position: relative;
  z-index: 1;
}
.ssv-hero-content { text-align: center; }
.ssv-hero-title .elementor-heading-title {
  color: #fff;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.08;
  font-weight: 700;
  margin: 0;
}
.ssv-hero-claim .elementor-heading-title {
  color: #fff;
  font-size: clamp(1.05rem, 2vw, 1.45rem);
  line-height: 1.35;
  font-weight: 500;
  margin: 0;
}
.ssv-quicklinks-wrap { background: var(--ssv-light); }
.ssv-quicklinks-grid { align-items: stretch; }
.ssv-quick-card {
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 7px 24px rgba(0,0,0,.07);
  transition: transform .18s ease, box-shadow .18s ease;
  min-height: 245px;
}
.ssv-quick-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 28px rgba(0,0,0,.10);
}
.ssv-quick-icon .elementor-icon {
  color: var(--ssv-red);
  font-size: 38px;
}
.ssv-quick-title .elementor-heading-title {
  color: var(--ssv-dark);
  font-size: 21px;
  line-height: 1.25;
  font-weight: 700;
}
.ssv-quick-text { color: var(--ssv-muted); font-size: 15.5px; line-height: 1.55; }
.ssv-card-link .elementor-button {
  background: transparent !important;
  color: var(--ssv-red) !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  font-weight: 600;
}
.ssv-card-link .elementor-button:hover { color: #a91117 !important; }

.ssv-site-header { background: #fff; box-shadow: 0 2px 10px rgba(0,0,0,.05); }
.ssv-header-logo img { width: min(500px, 100%); height: auto; }
.ssv-header-contact .elementor-button {
  background: transparent !important;
  color: var(--ssv-dark) !important;
  padding: 6px 8px !important;
  font-size: 14px;
}
.ssv-header-contact .elementor-button:hover { color: var(--ssv-red) !important; }
.ssv-header-socials .elementor-social-icon {
  background: transparent !important;
  color: var(--ssv-dark) !important;
  font-size: 17px;
}
.ssv-header-socials .elementor-social-icon:hover { color: var(--ssv-red) !important; }
.ssv-header-nav { border-top: 2px solid var(--ssv-red); }
.ssv-primary-nav .elementor-nav-menu--main .elementor-item {
  color: var(--ssv-dark);
  font-size: 14px;
  font-weight: 600;
  padding-top: 16px;
  padding-bottom: 16px;
}
.ssv-primary-nav .elementor-nav-menu--main .elementor-item:hover,
.ssv-primary-nav .elementor-nav-menu--main .elementor-item.elementor-item-active {
  color: #fff;
  background: var(--ssv-red);
}

@media (max-width: 1024px) {
  .ssv-quick-card { min-height: 220px; }
}

@media (max-width: 767px) {
  .ssv-quick-card { min-height: 0; }
  .ssv-header-actions .ssv-header-contact,
  .ssv-header-actions .ssv-header-socials { display: none !important; }
  .ssv-header-nav { min-height: 0 !important; }
  .ssv-header-logo img { width: min(290px, 100%); }
  .ssv-primary-nav .elementor-menu-toggle {
    margin-left: auto;
    color: var(--ssv-dark);
    background: transparent;
    font-size: 26px;
  }
  .ssv-primary-nav .elementor-nav-menu--dropdown {
    border-top: 1px solid #eee;
  }
}
