/* GraphicMarketing — standalone restore (no WP Leverage CSS) */
:root {
  --gm-gold: #f0af36;
  --gm-orange: #ff6100;
  --gm-dark: #040402;
  --gm-dark2: #0a0a0a;
  --gm-dark3: #1f1f1f;
  --gm-text: #e8e8e8;
  --gm-muted: #b0b0b0;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: "Source Sans Pro", sans-serif;
  color: var(--gm-text);
  background: var(--gm-dark2) !important;
  overflow-x: hidden;
}
h1, h2, h3, h4, h5, h6, .title, .simple {
  font-family: Roboto, sans-serif;
  font-weight: 700;
  color: #fff;
}
p { color: var(--gm-muted); line-height: 1.65; }
a { color: var(--gm-gold); text-decoration: none; }
a:hover { color: var(--gm-orange); text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
.container.default { max-width: 1140px; margin: 0 auto; padding: 0 15px; width: 100%; }
.preloader { display: none !important; }
#search, #menu { display: none !important; }

/* ===== HEADER ===== */
#header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1030;
}
#header .navbar {
  background: rgba(4, 4, 2, 0.96) !important;
  backdrop-filter: blur(10px);
  padding: 0.55rem 0;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.45);
}
#header .container.header {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  max-width: 1140px;
}
#header .ml-auto { display: none !important; }
#header .navbar-brand img { max-height: 44px; width: auto; }
#footer .brand img, #footer .brand .logo img { max-height: 48px; width: auto; height: auto; display: inline-block; margin-bottom: 1rem; }
#header .navbar-nav {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  list-style: none;
  margin: 0;
  padding: 0;
}
#header .navbar-nav.items { margin-left: auto !important; margin-right: 1rem !important; }
#header .navbar-nav .nav-link {
  color: #f5f5f5 !important;
  font-weight: 500;
  font-size: 0.92rem;
  padding: 0.45rem 0.75rem !important;
  white-space: nowrap;
}
#header .navbar-nav .nav-link:hover { color: var(--gm-gold) !important; }
#header .navbar-nav.toggle,
#header .navbar-nav.icons { display: none !important; }
#header .btn.dark-button {
  background: var(--gm-orange) !important;
  border: none !important;
  color: #fff !important;
  border-radius: 999px;
  padding: 0.55rem 1.2rem;
  font-weight: 600;
  font-size: 0.85rem;
  box-shadow: 0 6px 20px rgba(255, 97, 0, 0.35);
  display: inline-flex !important;
  align-items: center;
  gap: 0.35rem;
}
#header .btn.dark-button:hover { filter: brightness(1.08); }

/* ===== HERO / SWIPER ===== */
.slider-1.hero { margin-top: 68px; padding: 0 !important; }
.slider-1 .swiper-container {
  width: 100%;
  height: min(78vh, 820px);
  min-height: 480px;
}
.slider-1 .swiper-slide {
  position: relative;
  overflow: hidden;
  background: var(--gm-dark) !important;
  display: flex !important;
  align-items: stretch;
}
.slider-1 .full-image {
  position: absolute !important;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  z-index: 0;
  display: block !important;
}
.slider-1 .swiper-slide::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,.75) 0%, rgba(0,0,0,.4) 55%, rgba(0,0,0,.25) 100%);
  z-index: 1;
  pointer-events: none;
}
.slider-1 .slide-content {
  position: relative;
  z-index: 2;
  width: 100%;
  display: flex !important;
  align-items: center;
  min-height: min(78vh, 820px);
  padding: 2rem 1.5rem;
}
.slider-1 .slide-content::before { display: none !important; }
.slider-1 .slide-content .inner,
.slider-1 .slide-content .left { position: relative; z-index: 2; width: 100%; }
.slider-1 .swiper-pagination { bottom: 28px !important; z-index: 5; }
.slider-1 .title,
.slider-1 .description,
.slider-1 h2.title {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.slider-1 .title,
.effect-static-text {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
}
.slider-1 .title {
  font-size: clamp(2rem, 5.5vw, 4.2rem);
  line-height: 1.05;
  margin-bottom: 1rem;
  text-shadow: 0 4px 24px rgba(0,0,0,.5);
}
.slider-1 .description {
  color: #eee !important;
  font-size: 1.15rem;
  max-width: 560px;
  line-height: 1.55;
  display: block !important;
}
.slider-1 .btn.dark-button {
  background: var(--gm-gold) !important;
  color: #111 !important;
  border-radius: 999px;
  font-weight: 700;
  padding: 0.75rem 1.6rem;
  margin-top: 0.5rem;
  border: none;
  display: inline-flex !important;
  align-items: center;
  gap: 0.4rem;
}
.slider-1 .swiper-pagination-bullet { background: #fff; opacity: 0.45; }
.slider-1 .swiper-pagination-bullet-active { background: var(--gm-gold); opacity: 1; }

/* ===== SECTIONS ===== */
section { padding: 5rem 0; position: relative; }
section .intro { margin-bottom: 2.5rem; }
section .intro h2.simple { font-size: clamp(1.75rem, 3vw, 2.5rem); margin-bottom: 0.75rem; }
section .intro p { color: var(--gm-muted); font-size: 1.05rem; }

/* Service / feature cards */
.services-1 .card,
.features-1 .card,
.portfolio-1 .card,
.pricing-1 .card,
.pricing-2 .card {
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 16px;
  padding: 2rem 1.5rem 3.5rem;
  height: 100%;
  position: relative;
  transition: transform .25s, box-shadow .25s;
}
.services-1 .card:hover,
.features-1 .card:hover,
.portfolio-1 .card:hover,
.pricing-1 .card:hover,
.pricing-2 .card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(0,0,0,.35);
}
.services-1 .card h4,
.features-1 .card h4,
.portfolio-1 .card h4,
.pricing-1 .card h4,
.pricing-2 .card h4 { color: #fff; margin: 0.75rem 0; }
.services-1 .card p,
.features-1 .card p { color: var(--gm-muted); line-height: 1.6; margin-bottom: 0; }
.services-1 .items .item,
.features-1 .items .item,
.portfolio-1 .items .item,
.pricing-1 .items .item,
.pricing-2 .items .item { margin-bottom: 1.5rem; }

/* Card icons (large) */
.card > .icon:not(.btn-icon) {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--gm-gold), var(--gm-orange));
  color: #111;
  font-size: 1.35rem;
  font-style: normal;
  margin: 0 auto 0.75rem;
}
.card > a.smooth-anchor {
  position: absolute;
  right: 1.25rem;
  bottom: 1.25rem;
}
.card .btn-icon {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(240, 175, 54, 0.15);
  border: 1px solid var(--gm-gold);
  font-size: 1rem;
  font-style: normal;
}

/* Icon font fallbacks */
[class*="icon-"] { font-style: normal; font-weight: normal; line-height: 1; }
[class*="icon-"]::before { font-style: normal; }
.icon-check::before, .icon-min.icon-check::before { content: "✓"; color: var(--gm-gold); font-weight: bold; }
.icon-arrow-right-circle::before { content: "→"; }
.icon-arrow-left-circle::before { content: "←"; }
.icon-arrow-right::before { content: "→"; }
.icon-arrow-down::before { content: "▾"; }
.icon-fire::before { content: "🔥"; }
.icon-rocket::before { content: "🚀"; }
.icon-people::before { content: "👥"; }
.icon-pencil::before { content: "✎"; }
.icon-globe::before { content: "🌐"; }
.icon-screen-smartphone::before { content: "📱"; }
.icon-event::before { content: "📅"; }
.icon-heart::before { content: "♥"; color: var(--gm-orange); }
.icon-star::before { content: "★"; color: var(--gm-gold); }
.icon-home::before { content: "⌂"; }
.icon-organization::before { content: "⚙"; }
.icon-camrecorder::before { content: "🎬"; }
.icon-close::before { content: "✕"; }
.icon-magnifier::before { content: "🔍"; }
.icon-menu::before { content: "☰"; }
.icon-refresh::before { content: "↻"; }
.icon-arrow-up::before { content: "↑"; font-weight: bold; }
.icon-badge::before { content: "◆"; }
.icon-diamond::before { content: "◇"; }
.icon-social-dropbox::before { content: "▣"; }
.icon-social-instagram::before { content: "📷"; }
.icon-social-linkedin::before { content: "in"; font-weight: 700; font-size: 0.85em; }
.icon-user::before { content: "👤"; }
.icon-clock::before { content: "🕐"; }

/* About */
.about-1 .fit-image,
.about-2 .fit-image {
  border-radius: 16px;
  width: 100%;
  max-width: 480px;
  margin: 0 auto;
  box-shadow: 0 20px 50px rgba(0,0,0,.4);
}
.about-1 .row,
.about-2 .row { align-items: center; }

/* Portfolio */
.portfolio-1 .gallery img {
  border-radius: 10px;
  width: 100%;
  margin-top: 0.75rem;
  cursor: zoom-in;
}
.portfolio-1 .gallery a.gm-lightbox {
  display: block;
  cursor: zoom-in;
}
.portfolio-1 .card .image-over img { min-height: 200px; object-fit: cover; }

/* Lightbox — Projekte */
.gm-lightbox-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 10000;
  background: rgba(0, 0, 0, 0.92);
  align-items: center;
  justify-content: center;
  padding: 2rem;
}
.gm-lightbox-overlay.open { display: flex; }
.gm-lightbox-overlay img {
  max-width: min(960px, 92vw);
  max-height: 82vh;
  border-radius: 12px;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.55);
}
.gm-lb-close,
.gm-lb-prev,
.gm-lb-next {
  position: absolute;
  border: none;
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  font-size: 2rem;
  line-height: 1;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  cursor: pointer;
}
.gm-lb-close { top: 1rem; right: 1rem; }
.gm-lb-prev { left: 1rem; top: 50%; transform: translateY(-50%); }
.gm-lb-next { right: 1rem; top: 50%; transform: translateY(-50%); }
.gm-lb-close:hover,
.gm-lb-prev:hover,
.gm-lb-next:hover { background: var(--gm-orange); }

/* Pricing */
.pricing-1 .price,
.pricing-2 .price {
  display: inline-block;
  margin: 0.75rem 0 1.25rem;
  padding: 0.35rem 1rem;
  border: 1px solid var(--gm-gold);
  border-radius: 999px;
  color: var(--gm-gold);
  font-weight: 600;
}
.pricing-1 .list-group-item,
.pricing-2 .list-group-item {
  background: transparent !important;
  border-color: rgba(255,255,255,.08) !important;
  color: var(--gm-muted);
  font-size: 0.92rem;
  padding: 0.55rem 0;
}
.pricing-1 .btn.primary-button,
.pricing-2 .btn.primary-button,
.btn.primary-button {
  background: var(--gm-gold) !important;
  border: none !important;
  color: #111 !important;
  border-radius: 999px;
  font-weight: 600;
  padding: 0.65rem 1.4rem;
  margin-top: 1rem;
  display: inline-flex !important;
  align-items: center;
  gap: 0.35rem;
}

/* Counters */
.funfacts-1 .radial {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  border: 3px solid var(--gm-gold);
  display: flex !important;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1rem;
  background: rgba(240, 175, 54, 0.08);
}
.funfacts-1 .radial span {
  font-size: 1.75rem;
  font-weight: 800;
  color: var(--gm-gold);
  font-family: Roboto, sans-serif;
}
.funfacts-1 h4 { color: #fff; font-size: 1rem; }
.funfacts-1 .item { margin-bottom: 1.5rem; }

/* Contact form */
#anfrage { background: var(--gm-dark) !important; }
#anfrage h2, #anfrage h3, #anfrage label { color: #fff; }
#anfrage input,
#anfrage textarea,
#anfrage select {
  background: #1a1a1a;
  border: 1px solid rgba(255,255,255,.12);
  color: #fff;
  border-radius: 10px;
  padding: 0.75rem 1rem;
  width: 100%;
  margin-bottom: 0.75rem;
}
#anfrage input::placeholder,
#anfrage textarea::placeholder { color: #888; }
.multi-step-form .form-step { display: block; }
.multi-step-form .form-success,
.multi-step-form [data-step="success"] { display: none; }

/* Footer */
#footer, .footer {
  background: #111 !important;
  padding: 3rem 0 2rem;
}
#footer h4 { color: #fff; }
#footer p, #footer li, #footer a { color: var(--gm-muted); }
#copyright {
  background: #0a0a0a !important;
  color: #666;
  text-align: center;
  font-size: 0.85rem;
  padding: 1rem;
}

#scroll-to-top {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 1020;
}
#scroll-to-top a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--gm-gold);
  color: #111;
  box-shadow: 0 8px 24px rgba(0,0,0,.3);
}

/* Inner pages hero */
.page-header-section,
section.hero:not(.slider-1) {
  margin-top: 68px;
  padding: 4rem 0 3rem;
  background: var(--gm-dark) !important;
}
section.hero .title { display: block !important; color: #fff !important; }

/* Blog / legal content */
.post-content, .page-content, .content-area {
  margin-top: 68px;
  padding: 3rem 0 4rem;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}
.post-content h1, .page-content h1 { color: #fff; margin-bottom: 1rem; }
.post-content p, .page-content p, .post-content li { color: var(--gm-muted); }

@media (max-width: 991px) {
  #header .navbar-nav.items { display: none !important; }
  #header .navbar-nav.toggle { display: flex !important; }
  .slider-1 .swiper-container { min-height: 420px; height: 65vh; }
  .slider-1 .title { font-size: 1.85rem; }
  section { padding: 3.5rem 0; }
}

@media (min-width: 992px) {
  #header .navbar-nav.toggle { display: none !important; }
}
