/* =========================================================
   WERBEPOST.DE – werbepost-layout.css
   Struktur:
   1) Variablen & Basis
   2) Topbar
   3) Header
   4) Navigation
   5) Hero / Slider
   6) Homepage Content
   7) Produktübersicht
   8) USP
   9) Footer
  10) To Top
  11) Kontaktseite
  12) Responsive
========================================================= */

/* =========================================================
   1) Variablen & Basis
========================================================= */
:root {
  --wp-green: #a0c306;
  --wp-green-hover: #8daf05;
  --wp-pink: #e42164;
  --wp-pink-hover: #c91b57;
  --wp-orange: #eb5e14;
  --wp-dark: #121b21;
  --wp-dark-2: #1f2a31;
  --wp-teal: #244957;
  --wp-teal-hover: #18343e;
  --wp-black: #000;
  --wp-white: #fff;
  --wp-light: #f5f5f7;
  --wp-border: #e7e9ec;
  --wp-shadow-soft: 0 8px 22px rgba(0, 0, 0, 0.07);
}

html,
body,
button,
input,
select,
textarea,
h1,
h2,
h3,
h4,
h5,
h6,
.slide__text-heading {
  font-family: "Inter", sans-serif !important;
}

/* =========================================================
   2) Topbar
========================================================= */
#service-bar {
  background: var(--wp-dark-2) !important;
  color: var(--wp-white) !important;
  height: 34px !important;
  min-height: 34px !important;
  overflow: hidden !important;
}

#service-bar .wrp {
  max-width: 1180px !important;
  height: 34px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  background: transparent !important;
}

#service-bar span,
#service-bar a,
#service-bar nav,
#service-bar ul,
#service-bar li {
  display: flex !important;
  align-items: center !important;
  height: 34px !important;
  line-height: 34px !important;
  font-size: 12px !important;
  color: var(--wp-white) !important;
  white-space: nowrap !important;
  background: transparent !important;
}

#service-bar a {
  color: var(--wp-white) !important;
}

#service-bar a:hover {
  color: var(--wp-green) !important;
}

#service-bar .label_claim {
  min-width: 185px !important;
}

#service-bar .label_tel {
  min-width: 110px !important;
  font-weight: 700 !important;
}

#service-bar .label_opening-hours {
  display: block !important;
  height: 34px !important;
  line-height: 34px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
  letter-spacing: 0 !important;
}

#service-bar .label_opening-hours span {
  display: inline !important;
  height: auto !important;
  line-height: 34px !important;
}

#service-bar .label_opening-hours::before,
#service-bar .label_opening-hours::after {
  display: none !important;
  content: none !important;
}

#service-bar .label_opening-hours .claim-green,
#service-bar .label_opening-hours .claim-orange,
#service-bar .label_opening-hours .claim-pink,
#service-bar .label_opening-hours .claim-sep {
  display: inline-block !important;
  height: auto !important;
  line-height: 34px !important;
  padding: 0 !important;
  margin: 0 !important;
  vertical-align: middle !important;
}

#service-bar .claim-green {
  color: var(--wp-green) !important;
  font-weight: 700 !important;
}

#service-bar .claim-orange {
  color: var(--wp-orange) !important;
  font-weight: 700 !important;
}

#service-bar .claim-pink {
  color: var(--wp-pink) !important;
  font-weight: 700 !important;
}

#service-bar .claim-sep {
  display: inline-block !important;
  min-width: 12px !important;
  text-align: center !important;
  margin: 0 12px !important;
}

#service-bar .label_mail {
  margin-left: 8px !important;
  color: var(--wp-white) !important;
  font-weight: 400 !important;
  text-decoration: none !important;
}

#service-bar .label_mail a {
  color: var(--wp-white) !important;
  font-weight: 400 !important;
  text-decoration: none !important;
}

#service-bar .label_mail a:hover {
  color: var(--wp-white) !important;
}

#service-bar nav {
  margin-left: auto !important;
}

#service-bar nav ul {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  height: 34px !important;
  margin: 0 !important;
  padding: 0 !important;
}

#service-bar nav li {
  height: 34px !important;
}

#service-bar nav a {
  color: var(--wp-white) !important;
  transition: 0.2s !important;
}

#service-bar nav a:hover {
  color: var(--wp-green) !important;
}

/* =========================================================
   3) Header
========================================================= */
header.main {
  background: var(--wp-white) !important;
  overflow: visible !important;
}

#brand-logo img {
  max-height: 70px !important;
  width: auto !important;
}

#customer-menu {
  display: flex !important;
  align-items: center !important;
  margin-left: 14px !important;
  transform: translateY(-4px) !important;
}

#customer-menu .menu-item-login,
#customer-menu .menu-item-cart {
  width: 25px !important;
  height: 25px !important;
  min-width: 25px !important;
}

#customer-menu .menu-item-login {
  margin-right: 3px !important;
}

#customer-menu .menu-item-cart {
  margin-left: 0 !important;
}

#customer-menu .menu-item-login::before,
#customer-menu .menu-item-cart::before {
  font-size: 20px !important;
}

#customer-menu .menu-item-cart .count {
  width: 16px !important;
  height: 16px !important;
  line-height: 16px !important;
  font-size: 10px !important;
  top: -4px !important;
  right: -4px !important;
  background: var(--wp-pink) !important;
  color: var(--wp-white) !important;
}

/* =========================================================
   4) Navigation
========================================================= */
#navbar {
  background: var(--wp-white) !important;
  margin-top: 1px !important;
  overflow: visible !important;
}

#navbar .wrp {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}

#navbar .cd-dropdown-wrapper,
#navbar .wrp > a.topMenu,
#navbar .service-menu,
#navbar .wp-dp-partner-badge {
  transform: translateY(-4px) !important;
  transition: transform 0.2s ease, color 0.2s ease, background 0.2s ease !important;
}

#navbar .cd-dropdown-wrapper {
  margin-left: 26px !important;
  margin-right: 18px !important;
}

#navbar .cd-dropdown-trigger {
  position: relative !important;
  overflow: visible !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: nowrap !important;
  min-width: 185px !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 42px 0 18px !important;
  background: var(--wp-green) !important;
  color: var(--wp-white) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-align: left !important;
  white-space: nowrap !important;
  border-radius: 2px !important;
}

#navbar .cd-dropdown-trigger:hover {
  background: var(--wp-green-hover) !important;
  color: var(--wp-white) !important;
}

#navbar .cd-dropdown-trigger::before {
  content: none !important;
  display: none !important;
}

#navbar .cd-dropdown-trigger::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  right: 18px !important;
  top: 50% !important;
  width: 7px !important;
  height: 7px !important;
  border: 0 !important;
  border-right: 2px solid var(--wp-white) !important;
  border-bottom: 2px solid var(--wp-white) !important;
  background: transparent !important;
  transform: translateY(-65%) rotate(45deg) !important;
}

#navbar .cd-dropdown-trigger i,
#navbar .cd-dropdown-trigger svg,
#navbar .cd-dropdown-trigger .icon {
  color: var(--wp-white) !important;
  fill: var(--wp-white) !important;
}

#navbar .wrp > a.topMenu {
  color: var(--wp-dark-2) !important;
  background: transparent !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  padding: 10px 11px !important;
  white-space: nowrap !important;
  letter-spacing: 0.2px !important;
  transition: 0.2s ease !important;
}

#serviceButton {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  height: auto !important;
  min-height: 0 !important;
  line-height: 1.2 !important;
  padding: 10px 11px !important;
  margin: 0 !important;
  color: var(--wp-dark-2) !important;
  background: transparent !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
  letter-spacing: 0.2px !important;
  text-transform: uppercase !important;
  align-self: center !important;
  position: relative !important;
  top: -2px !important;
  transition: color 0.2s ease, background 0.2s ease !important;
}

#navbar .wrp > a.topMenu:hover {
  color: var(--wp-green) !important;
  background: transparent !important;
  transform: translateY(-5px) !important;
}

#serviceButton:hover {
  color: var(--wp-green) !important;
  background: transparent !important;
  top: -3px !important;
}

#navbar .cd-dropdown-wrapper:hover {
  transform: translateY(-5px) !important;
}

#navbar .service-menu {
  display: flex !important;
  align-items: center !important;
  height: auto !important;
  min-height: 0 !important;
  margin-left: 8px !important;
  padding-right: 4px !important;
  white-space: nowrap !important;
  overflow: visible !important;
  flex: 0 0 auto !important;
}

#navbar .service-menu > div {
  display: flex !important;
  align-items: center !important;
  height: auto !important;
}

/* Deutsche Post Premium Partner – Platzhalter neben Service-Center (CSS, kein JS nötig) */
#navbar .service-menu::after {
  content: "" !important;
  display: block !important;
  flex: 0 0 auto !important;
  width: 44px !important;
  height: 58px !important;
  margin: 0 0 0 10px !important;
  background: url("/customers_pics/893/6490b1dc3e0f35c2be2b4baf678b9198.png") center center / contain no-repeat !important;
  pointer-events: none !important;
}

/* Fallback, falls kein .service-menu-Wrapper existiert */
#navbar .wrp:has(#serviceButton):not(:has(.service-menu)) #serviceButton {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  overflow: visible !important;
}

#navbar .wrp:has(#serviceButton):not(:has(.service-menu)) #serviceButton::after {
  content: "" !important;
  display: inline-block !important;
  width: 44px !important;
  height: 58px !important;
  flex: 0 0 auto !important;
  background: url("/customers_pics/893/6490b1dc3e0f35c2be2b4baf678b9198.png") center center / contain no-repeat !important;
  pointer-events: none !important;
}

#navbar .wp-dp-partner-badge {
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  margin: 0 0 0 10px !important;
  padding: 0 !important;
  line-height: 0 !important;
}

#navbar .wp-dp-partner-badge img {
  display: block !important;
  width: auto !important;
  height: 56px !important;
  max-height: 56px !important;
  object-fit: contain !important;
}

.cd-dropdown,
.cd-dropdown-content,
.cd-secondary-dropdown {
  background: var(--wp-white) !important;
}

.cd-dropdown a {
  color: var(--wp-dark-2) !important;
}

.cd-dropdown a:hover {
  color: var(--wp-green) !important;
}

/* Brotkrumen: linksbündig wie Intro/Navigation, kompakte Höhe */
#navbar + nav.breadcrumb,
nav.breadcrumb.wrp:not(:has(ul[id^="schritt"])),
nav.breadcrumb:not(:has(ul[id^="schritt"])) {
  display: block !important;
  max-width: 1180px !important;
  width: 100% !important;
  margin: 4px auto 0 !important;
  padding: 4px 30px 6px !important;
  box-sizing: border-box !important;
  text-align: left !important;
  background: transparent !important;
  border: 0 !important;
}

#navbar + nav.breadcrumb ul,
#navbar + nav.breadcrumb ol,
#navbar + nav.breadcrumb .crumbs,
#navbar + nav.breadcrumb .fortschritt,
#navbar + nav.breadcrumb #pageNavi,
nav.breadcrumb.wrp:not(:has(ul[id^="schritt"])) ul,
nav.breadcrumb.wrp:not(:has(ul[id^="schritt"])) ol,
nav.breadcrumb:not(:has(ul[id^="schritt"])) ul,
nav.breadcrumb:not(:has(ul[id^="schritt"])) ol {
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  list-style: none !important;
}

#navbar + nav.breadcrumb a,
nav.breadcrumb.wrp:not(:has(ul[id^="schritt"])) a,
nav.breadcrumb:not(:has(ul[id^="schritt"])) a {
  text-align: left !important;
}

.breadcrumb:not(:has(ul[id^="schritt"])) {
  margin-top: 4px !important;
  margin-bottom: 0 !important;
}

/* =========================================================
   5) Hero / Slider
========================================================= */
.slider-container,
.slider,
.slide,
.slide__content {
  background: var(--wp-white) !important;
}

.slide__overlay-path {
  fill: var(--wp-white) !important;
}

.slide__overlay,
.slide__content > svg,
.slide svg.slide__overlay {
  display: none !important;
}

.slide__text-heading {
  color: var(--wp-black) !important;
  font-weight: 700 !important;
  line-height: 1.08 !important;
}

.slide__text-heading .focus,
.slide__text-heading span {
  display: block !important;
  color: var(--wp-green) !important;
  font-weight: 800 !important;
  margin-top: 4px !important;
}

.slide__text-desc {
  color: var(--wp-black) !important;
}

.slide__text-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 170px !important;
  height: 48px !important;
  padding: 0 28px !important;
  background: var(--wp-pink) !important;
  color: var(--wp-white) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  text-align: center !important;
  border: none !important;
  border-radius: 2px !important;
  transition: 0.2s ease !important;
}

.slide__text-link:hover {
  background: var(--wp-pink-hover) !important;
  color: var(--wp-white) !important;
  transform: translateY(-1px) !important;
}

.slider-pagi li,
.slider-pagi__elem {
  background: #cfd8dc !important;
}

.slider-pagi__elem-0,
.slider-pagi li.slider-pagi__elem-0,
li.slider-pagi__elem.slider-pagi__elem-0 {
  display: none !important;
}

.slider-pagi li.active,
.slider-pagi__elem.active {
  background: var(--wp-green) !important;
}

/* Bild nach links – rechte Kante bündig mit Header (1180px), Text unverändert */
@media (min-width: 1025px) {
  .slide__bg,
  .slide__img {
    left: auto !important;
    right: max(16px, calc((100vw - 1180px) / 2 - 1cm)) !important;
    width: 50% !important;
    max-width: 620px !important;
    background-size: contain !important;
    background-position: right center !important;
    background-repeat: no-repeat !important;
    object-fit: contain !important;
    object-position: right center !important;
  }
}

/* =========================================================
   6) Homepage Content
========================================================= */
.cms_homepage_text {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  background: radial-gradient(
    circle at 72% 38%,
    #244957 0%,
    #18343e 42%,
    #102933 100%
  ) !important;
  color: var(--wp-white) !important;
  overflow: hidden !important;
}

.cms_homepage_text .wrp,
.cms_homepage_text .rte_container {
  background: transparent !important;
}

.cms_homepage_text h1,
.cms_homepage_text h2,
.cms_homepage_text h3,
.cms_homepage_text strong {
  color: var(--wp-white) !important;
}

.cms_homepage_text .werbepost-info-benefits h3,
.cms_homepage_text .werbepost-info-benefits > strong,
.cms_homepage_text .werbepost-info-kicker {
  color: var(--wp-green) !important;
}

.cms_homepage_text a {
  color: var(--wp-green) !important;
  text-decoration: none !important;
}

.cms_homepage_text a:hover {
  color: var(--wp-green-hover) !important;
}

.cms_homepage_text .werbepost-info-button,
.cms_homepage_text .werbepost-info-button:hover,
.cms_homepage_text .werbepost-info-button span {
  color: var(--wp-white) !important;
}

.cms_homepage_text .werbepost-info-phone {
  color: var(--wp-white) !important;
}

.cms_homepage_text .werbepost-info-phone:hover {
  color: var(--wp-green) !important;
}

.cms_homepage_text .wrp {
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

.cms_homepage_text .rte_container {
  padding: 0 !important;
}

.cms_homepage_text .wrp > .rte_container:has(.werbepost-info) {
  width: 100% !important;
  max-width: none !important;
}

.cms_homepage_text .werbepost-info {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 420px) !important;
  grid-template-rows: auto !important;
  align-items: start !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 48px 24px 56px 0 !important;
  gap: 0 56px !important;
  box-sizing: border-box !important;
}

/* CMS-HTML ohne Vorteils-Box: Inhalt per CSS ergänzen */
.cms_homepage_text .werbepost-info:not(:has(.werbepost-info-benefits)) .werbepost-info-content {
  display: contents !important;
}

.cms_homepage_text .werbepost-info:not(:has(.werbepost-info-kicker)) h1::before {
  content: "Jetzt Werbepost online planen" !important;
  display: block !important;
  margin: 0 0 14px 0 !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: var(--wp-green) !important;
}

/* Button-Fallback, wenn keine echten Links im CMS stehen */
.cms_homepage_text .werbepost-info:not(:has(.werbepost-info-actions)):not(:has(a.werbepost-info-button))::before {
  content: "Jetzt starten ›" !important;
  grid-column: 1 !important;
  grid-row: 4 !important;
  justify-self: start !important;
  align-self: center !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 290px !important;
  max-width: 100% !important;
  height: 58px !important;
  padding: 0 28px !important;
  margin-top: 0 !important;
  background: var(--wp-pink) !important;
  color: var(--wp-white) !important;
  -webkit-text-fill-color: var(--wp-white) !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  box-sizing: border-box !important;
  border-radius: 0 !important;
}

/* Telefon-Fallback */
.cms_homepage_text .werbepost-info:not(:has(.werbepost-info-actions)):not(:has(a.werbepost-info-phone)) .werbepost-info-content::after {
  content: "02861 / 921-421" !important;
  grid-column: 1 !important;
  grid-row: 4 !important;
  justify-self: start !important;
  align-self: center !important;
  margin: 0 0 0 318px !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  color: var(--wp-white) !important;
  -webkit-text-fill-color: var(--wp-white) !important;
  border-bottom: 2px solid var(--wp-green) !important;
  padding-bottom: 4px !important;
}

.cms_homepage_text .werbepost-info:not(:has(.werbepost-info-benefits)) {
  grid-template-columns: 1fr !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Vorteils-Fallback: Box rechts neben Text (Flex + order) */
.cms_homepage_text .wrp:has(> .rte_container:empty):not(:has(.werbepost-info-benefits)) {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  gap: 0 70px !important;
  padding: 48px 40px 56px 0 !important;
  box-sizing: border-box !important;
}

.cms_homepage_text .wrp:has(> .rte_container:empty):not(:has(.werbepost-info-benefits)) > .rte_container:has(.werbepost-info) {
  order: 1 !important;
  flex: 1 1 0 !important;
  min-width: 0 !important;
  width: auto !important;
  grid-column: auto !important;
  grid-row: auto !important;
}

.cms_homepage_text .wrp:has(.werbepost-info-benefits) > .rte_container:empty,
.cms_homepage_text .wrp:not(:has(> .rte_container:empty)) > .rte_container:empty {
  display: none !important;
}

.cms_homepage_text .wrp > .rte_container:empty {
  display: block !important;
  order: 2 !important;
  flex: 0 0 420px !important;
  width: 420px !important;
  max-width: 420px !important;
  align-self: start !important;
  margin: 0 !important;
  padding: 44px !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 0 !important;
  box-sizing: border-box !important;
}

.cms_homepage_text .wrp:has(.werbepost-info-benefits) {
  display: block !important;
  padding: 0 !important;
}

.cms_homepage_text .wrp:has(.werbepost-info-benefits) .werbepost-info {
  padding: 48px 24px 56px 0 !important;
}

.cms_homepage_text .wrp:has(> .rte_container:empty):not(:has(.werbepost-info-benefits)) .werbepost-info {
  padding: 0 !important;
}

.cms_homepage_text .wrp > .rte_container:empty::before {
  content: "Ihre Vorteile auf einen Blick" !important;
  display: block !important;
  margin: 0 0 20px 0 !important;
  color: var(--wp-green) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

.cms_homepage_text .wrp > .rte_container:empty::after {
  content: "Online planen, analog versenden lassen\A\A Hohe Wirkung durch zielgerichtete Mailings\A\A Performance Partner der Deutschen Post" !important;
  display: block !important;
  white-space: pre-wrap !important;
  padding-left: 38px !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
  color: var(--wp-white) !important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ctext x='0' y='19' fill='%2395c900' font-size='22' font-weight='800' font-family='Arial,sans-serif'%3E%E2%9C%93%3C/text%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ctext x='0' y='19' fill='%2395c900' font-size='22' font-weight='800' font-family='Arial,sans-serif'%3E%E2%9C%93%3C/text%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ctext x='0' y='19' fill='%2395c900' font-size='22' font-weight='800' font-family='Arial,sans-serif'%3E%E2%9C%93%3C/text%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position:
    0 0,
    0 3.1em,
    0 6.2em !important;
  background-size: 24px 24px !important;
}

.cms_homepage_text .wrp:has(.werbepost-info-benefits) .werbepost-info {
  grid-template-columns: minmax(0, 1fr) minmax(320px, 420px) !important;
}

.cms_homepage_text .werbepost-info:not(:has(.werbepost-info-benefits)) .werbepost-info-content {
  grid-column: 1 !important;
  grid-row: 1 !important;
  align-self: start !important;
}

/* Vorteilsbox: Text normal im Fluss, Box rechts per margin-top auf 1. Absatz */
.cms_homepage_text .werbepost-info:has(.werbepost-info-benefits) .werbepost-info-content,
.werbepost-info:has(.werbepost-info-benefits) .werbepost-info-content {
  display: block !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  align-self: start !important;
}

/* Kein Grid pro Kind – verhindert Überlappung der Absätze */
.cms_homepage_text .werbepost-info:has(.werbepost-info-benefits) .werbepost-info-content > *,
.werbepost-info:has(.werbepost-info-benefits) .werbepost-info-content > * {
  grid-column: unset !important;
  grid-row: unset !important;
  position: static !important;
}

.werbepost-info:has(.werbepost-info-benefits) .werbepost-info-content > a.werbepost-info-button,
.werbepost-info:has(.werbepost-info-benefits) .werbepost-info-content > a.werbepost-info-phone {
  margin-top: 0 !important;
  display: inline-flex !important;
  vertical-align: middle !important;
}

.werbepost-info:has(.werbepost-info-benefits) .werbepost-info-content > a.werbepost-info-phone {
  display: inline-block !important;
  margin-left: 28px !important;
}

.cms_homepage_text .werbepost-info-benefits,
.werbepost-info:has(.werbepost-info-benefits) .werbepost-info-benefits {
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: start !important;
  justify-self: end !important;
  width: 420px !important;
  max-width: 420px !important;
  margin-top: calc(14px + 14px + 1 * 1.15 * 48px + 12px) !important;
  margin-left: auto !important;
  margin-right: 0 !important;
}

.cms_homepage_text .werbepost-info-logo {
  display: none !important;
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.cms_homepage_text .werbepost-info:not(:has(.werbepost-info-benefits)) h1,
.cms_homepage_text .werbepost-info:not(:has(.werbepost-info-benefits)) p,
.cms_homepage_text .werbepost-info:not(:has(.werbepost-info-benefits)) .werbepost-info-actions,
.cms_homepage_text .werbepost-info:not(:has(.werbepost-info-benefits)) a.werbepost-info-button,
.cms_homepage_text .werbepost-info:not(:has(.werbepost-info-benefits)) a.werbepost-info-phone {
  grid-column: 1 !important;
  max-width: 720px !important;
}

.cms_homepage_text .werbepost-info:not(:has(.werbepost-info-benefits)) a.werbepost-info-button,
.cms_homepage_text .werbepost-info:not(:has(.werbepost-info-benefits)) .werbepost-info-actions {
  grid-row: 4 !important;
  justify-self: start !important;
  align-self: center !important;
  max-width: none !important;
}

.cms_homepage_text .werbepost-info:not(:has(.werbepost-info-benefits)) a.werbepost-info-phone {
  grid-row: 4 !important;
  justify-self: start !important;
  align-self: center !important;
  width: auto !important;
  max-width: fit-content !important;
  margin-left: 318px !important;
}

.cms_homepage_text .werbepost-info-actions a,
.cms_homepage_text .werbepost-info-content > a.werbepost-info-button,
.cms_homepage_text .werbepost-info-content > a.werbepost-info-phone {
  cursor: pointer !important;
}

/* Fallback / manuelles Markup */
.werbepost-info {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 420px) !important;
  grid-template-rows: auto !important;
  align-items: start !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 48px 24px 56px 0 !important;
  gap: 40px 56px !important;
  box-sizing: border-box !important;
}

.werbepost-info-logo {
  display: none !important;
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
}

.werbepost-info-content {
  min-width: 0 !important;
  max-width: 720px !important;
  margin: 0 !important;
  padding: 0 !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  align-self: start !important;
}

.werbepost-info-kicker {
  margin: 0 0 14px 0 !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: var(--wp-green) !important;
}

.werbepost-info p:not(.werbepost-info-kicker) {
  margin: 0 0 18px 0 !important;
  font-size: 18px !important;
  line-height: 1.8 !important;
  color: var(--wp-white) !important;
}

.werbepost-info-headline,
.werbepost-info h1 {
  margin: 0 0 12px 0 !important;
  padding: 0 !important;
  font-size: 48px !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
  color: var(--wp-white) !important;
}

.werbepost-info-headline span,
.werbepost-info h1 span {
  color: var(--wp-green) !important;
  font-size: inherit !important;
  font-weight: 800 !important;
}

.werbepost-info-content > p:not(.werbepost-info-kicker):last-of-type {
  margin-bottom: 38px !important;
}

.werbepost-info strong {
  color: var(--wp-white) !important;
  font-weight: 700 !important;
}

.werbepost-info-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 28px !important;
  margin-top: 0 !important;
  width: 100% !important;
}

.werbepost-info-button,
.cms_homepage_text .werbepost-info-content > a.werbepost-info-button {
  display: inline-flex !important;
  visibility: visible !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  width: 290px !important;
  max-width: 100% !important;
  height: 58px !important;
  padding: 0 28px !important;
  background: var(--wp-pink) !important;
  color: var(--wp-white) !important;
  -webkit-text-fill-color: var(--wp-white) !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  transition: 0.2s ease !important;
  box-sizing: border-box !important;
}

.werbepost-info-content > a.werbepost-info-button + a.werbepost-info-phone {
  margin-left: 0 !important;
}

.werbepost-info-button:hover,
.cms_homepage_text .werbepost-info-content > a.werbepost-info-button:hover {
  background: var(--wp-pink-hover) !important;
  color: var(--wp-white) !important;
  -webkit-text-fill-color: var(--wp-white) !important;
}

.werbepost-info-button span {
  margin-left: 0 !important;
  font-size: 24px !important;
  line-height: 1 !important;
  color: var(--wp-white) !important;
  -webkit-text-fill-color: var(--wp-white) !important;
}

.werbepost-info-phone,
.cms_homepage_text .werbepost-info-content > a.werbepost-info-phone {
  display: inline-block !important;
  width: auto !important;
  max-width: fit-content !important;
  justify-self: start !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  color: var(--wp-white) !important;
  -webkit-text-fill-color: var(--wp-white) !important;
  text-decoration: none !important;
  border-bottom: none !important;
  padding-bottom: 0 !important;
  transition: 0.2s ease !important;
  box-sizing: border-box !important;
}

.werbepost-info-phone::after,
.cms_homepage_text .werbepost-info-content > a.werbepost-info-phone::after {
  content: "" !important;
  display: block !important;
  width: 100% !important;
  height: 2px !important;
  margin-top: 4px !important;
  background: var(--wp-green) !important;
}

.werbepost-info-phone:hover {
  color: var(--wp-green) !important;
}

.werbepost-info-phone:hover::after,
.cms_homepage_text .werbepost-info-content > a.werbepost-info-phone:hover::after {
  background: var(--wp-green-hover) !important;
}

/* Vorteilsbox rechts – startet auf Höhe des 1. Absatzes */
.werbepost-info-benefits {
  display: block !important;
  visibility: visible !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: start !important;
  justify-self: end !important;
  width: 420px !important;
  max-width: 420px !important;
  margin: calc(14px + 14px + 1 * 1.15 * 48px + 12px) 0 0 auto !important;
  padding: 44px !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 0 !important;
  box-sizing: border-box !important;
}

.werbepost-info-benefits h2,
.werbepost-info-benefits h3,
.werbepost-info-benefits > strong {
  display: block !important;
  margin: 0 0 20px 0 !important;
  font-size: 20px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
  color: var(--wp-green) !important;
  -webkit-text-fill-color: var(--wp-green) !important;
}

.werbepost-info-benefits-list {
  display: grid !important;
  gap: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.werbepost-info-benefit {
  display: flex !important;
  align-items: flex-start !important;
  gap: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
  color: var(--wp-white) !important;
}

.werbepost-info-benefit > span:last-child {
  color: var(--wp-white) !important;
}

.werbepost-info-check {
  color: var(--wp-green) !important;
  font-size: 24px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  flex: 0 0 auto !important;
  margin-top: 1px !important;
}

/* Fallback: Vorteile ohne Check-Span */
.werbepost-info-benefit:not(:has(.werbepost-info-check)),
.werbepost-info-benefits p,
.werbepost-info-benefits li {
  position: relative !important;
  display: block !important;
  margin: 0 0 16px 0 !important;
  padding: 0 0 0 38px !important;
}

.werbepost-info-benefit:not(:has(.werbepost-info-check)):last-child,
.werbepost-info-benefits li:last-child {
  margin-bottom: 0 !important;
}

.werbepost-info-benefit:not(:has(.werbepost-info-check))::before,
.werbepost-info-benefits li::before {
  content: "✓" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  color: var(--wp-green) !important;
  font-weight: 800 !important;
  font-size: 24px !important;
  line-height: 1 !important;
}

.werbepost-info-benefits ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* =========================================================
   7) Produktübersicht
========================================================= */
.trade-groups {
  background: var(--wp-light) !important;
}

.trade-groups .wrp,
.trade-groups .content,
.trade-groups .tab_content,
.trade-groups aside,
.trade-groups aside ul,
.trade-groups aside li {
  background: transparent !important;
}

.trade-groups .headline {
  color: var(--wp-dark-2) !important;
  font-weight: 700 !important;
}

.trade-groups aside a {
  color: var(--wp-pink) !important;
  background: transparent !important;
  font-weight: 500 !important;
}

/* Unterseiten (.trade-groups.full): Abstand zwischen Karten – Section-Breite unangetastet */
.trade-groups.full .content,
.trade-groups .content:has(> article.card) {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  width: 100% !important;
  float: none !important;
}

.trade-groups .content:has(> .tab_content) {
  display: block !important;
}

.trade-groups.full .clr {
  display: none !important;
}

.trade-groups.full .content > article.card,
.trade-groups .content:has(> article.card) > article.card {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

.trade-groups.full .wrp > h1 {
  margin: 0 0 20px 0 !important;
}

@media (max-width: 1100px) {
  .trade-groups.full .content,
  .trade-groups .content:has(> article.card) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
  }
}

.trade-groups article.card,
.card {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  transition: 0.25s ease !important;
}

.trade-groups article.card:hover,
.card:hover {
  transform: translateY(-4px) !important;
  box-shadow: var(--wp-shadow-soft) !important;
}

.trade-groups article.card figure,
.card figure {
  overflow: hidden !important;
  background: var(--wp-white) !important;
}

.trade-groups article.card img,
.card img {
  transition: transform 0.3s ease !important;
}

.trade-groups article.card:hover img,
.trade-groups article.card a:hover img,
.card:hover img,
.card a:hover img {
  transform: scale(1.03) !important;
}

.trade-groups article.card:hover,
.trade-groups article.card:hover figure,
.trade-groups article.card:hover figcaption,
.trade-groups article.card a:hover figure,
.trade-groups article.card a:hover figcaption,
.card:hover,
.card:hover figure,
.card:hover figcaption,
.card a:hover figure,
.card a:hover figcaption {
  background: var(--wp-white) !important;
}

.trade-groups article.card h2,
.trade-groups article.card strong,
.trade-groups article.card .link,
.card h2,
.card strong,
.card .link {
  color: var(--wp-dark-2) !important;
}

.trade-groups article.card h2 {
  margin-top: 18px !important;
  font-weight: 600 !important;
}

.trade-groups article.card:hover h2,
.trade-groups article.card:hover strong,
.trade-groups article.card:hover .link,
.trade-groups article.card a:hover h2,
.trade-groups article.card a:hover strong,
.trade-groups article.card a:hover .link,
.card:hover h2,
.card:hover strong,
.card:hover .link,
.card a:hover h2,
.card a:hover strong,
.card a:hover .link {
  color: var(--wp-green) !important;
}

.trade-groups article.card .link,
.card .link {
  transition: color 0.25s ease !important;
}

.trade-groups article.card:hover .link::after,
.trade-groups article.card a:hover .link::after,
.card:hover .link::after,
.card a:hover .link::after {
  transform: translateX(4px) !important;
}

/* Produktlisting (z.B. Dialogpost): Abstand zwischen Karten – Section-Breite unangetastet */
.product-listing.full .content,
.product-listing .content:has(> .card) {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  width: 100% !important;
  float: none !important;
}

.product-listing.full .clr {
  display: none !important;
}

.product-listing .content > .card {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

@media (max-width: 1100px) {
  .product-listing.full .content,
  .product-listing .content:has(> .card) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
  }
}

@media (max-width: 600px) {
  .product-listing.full .content,
  .product-listing .content:has(> .card) {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}

/* =========================================================
   8) USP
========================================================= */
#usp-bar {
  background: var(--wp-white) !important;
}

#usp-bar .wrp,
#usp-bar .individualUSP,
.individualUSPCard {
  background: transparent !important;
}

.individualUSPCard strong,
.individualUSPCard p {
  color: var(--wp-dark-2) !important;
}

.individualUSPCard strong {
  font-weight: 700 !important;
}

#usp-bar .individualUSPCard:nth-child(1) img,
#usp-bar .individualUSPCard:nth-child(3) img {
  filter: brightness(0) saturate(100%) invert(56%) sepia(99%) saturate(536%)
    hue-rotate(31deg) brightness(96%) contrast(96%) !important;
}

#usp-bar .individualUSPCard:nth-child(2) img {
  filter: brightness(0) saturate(100%) invert(24%) sepia(83%) saturate(2971%)
    hue-rotate(324deg) brightness(93%) contrast(91%) !important;
}

#usp-bar .individualUSPCard:nth-child(4) img {
  filter: brightness(0) saturate(100%) invert(48%) sepia(94%) saturate(2073%)
    hue-rotate(356deg) brightness(96%) contrast(92%) !important;
}

/* =========================================================
   9) Footer
========================================================= */
#parallax {
  display: none !important;
}

footer.main {
  background: var(--wp-dark-2) !important;
  color: var(--wp-white) !important;
  position: relative !important;
  overflow: hidden !important;
}

footer.main .wrp,
footer.main address,
footer.main nav,
footer.main ul,
footer.main li {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

footer.main,
footer.main address,
footer.main li,
footer.main i,
footer.main p,
footer.main strong.headline {
  color: var(--wp-white) !important;
}

footer.main strong.headline {
  font-weight: 700 !important;
}

footer.main .headline {
  display: block !important;
  margin-top: 28px !important;
  margin-bottom: 22px !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
}

footer.main address .headline {
  color: var(--wp-green) !important;
}

footer.main nav[aria-label="Service Menu"] .headline {
  color: var(--wp-pink) !important;
}

footer.main nav[aria-label="Product Menu"] .headline {
  color: var(--wp-orange) !important;
}

footer.main a {
  color: var(--wp-white) !important;
  background: transparent !important;
  transition: 0.2s ease !important;
}

footer.main a:hover {
  color: var(--wp-green) !important;
  padding-left: 3px !important;
}

footer.main nav ul,
footer.main nav li,
#footer-product-nav {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

footer.main > .wrp > nav li.druckmuster_jn {
  display: none !important;
}

footer.main .social-networks a {
  background: transparent !important;
  transition: 0.2s ease !important;
}

footer.main .social-networks a:hover {
  transform: scale(1.1) !important;
}

footer.main .social-networks a::before {
  background: transparent !important;
}

footer.main .social-networks .icon-instagram {
  position: relative !important;
  left: -8px !important;
}

footer.main .social-networks .icon-linkedIn {
  position: relative !important;
  left: -28px !important;
}

footer.main nav[aria-label="Service Menu"] {
  transform: translateX(-140px) !important;
}

footer.main nav[aria-label="Product Menu"] {
  transform: translateX(-240px) !important;
}

footer.main nav li a::after {
  display: none !important;
  content: none !important;
}

footer.main address {
  position: relative !important;
}

footer.main address > div:last-child {
  position: absolute !important;
  left: 0 !important;
  top: 195px !important;
  width: 220px !important;
  margin: 0 !important;
  padding: 0 !important;
}

footer.main address .icon.phone,
footer.main address .icon.mail {
  display: block !important;
  position: relative !important;
  margin: 5px 0 !important;
  padding-left: 24px !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  color: var(--wp-white) !important;
  float: none !important;
  clear: none !important;
  left: 0 !important;
}

footer.main address .icon.phone::before,
footer.main address .icon.mail::before {
  position: absolute !important;
  left: 0 !important;
  top: 2px !important;
  width: 16px !important;
  margin: 0 !important;
  font-size: 13px !important;
  color: var(--wp-white) !important;
  opacity: 0.75 !important;
}

footer.main address .icon.mail a {
  font-size: 13px !important;
  font-weight: 400 !important;
  color: var(--wp-white) !important;
}

footer.main .wrp {
  position: relative !important;
}

footer.main .wrp::after {
  content: "";
  position: absolute;
  top: 40px;
  right: 0;
  width: 280px;
  height: 120px;
  background: url("/customers_pics/893/694b65e52ba575442e2aefa1735619e2.png")
    no-repeat center center;
  background-size: contain;
  pointer-events: none;
}

#footer-bar {
  background: var(--wp-green) !important;
  color: var(--wp-white) !important;
  min-height: 42px !important;
}

#footer-bar nav {
  background: transparent !important;
  color: var(--wp-white) !important;
  min-height: 42px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

#footer-bar,
#footer-bar nav,
#footer-bar nav *,
#footer-bar a,
#footer-bar .leadprint-brand {
  color: var(--wp-white) !important;
}

.leadprint-brand {
  display: none !important;
}

/* =========================================================
   10) To Top
========================================================= */
#totop {
  background: transparent !important;
  position: fixed !important;
  right: 0 !important;
  bottom: 0 !important;
  width: auto !important;
  height: auto !important;
  z-index: 9999 !important;
}

#totop .wrp {
  background: transparent !important;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
}

#totop a.totop {
  background: var(--wp-green) !important;
  border-color: var(--wp-green) !important;
  color: var(--wp-white) !important;
  width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 0 !important;
  margin: 0 !important;
}

#totop a.totop:hover {
  background: var(--wp-green-hover) !important;
  border-color: var(--wp-green-hover) !important;
}

#totop a.totop::before,
#totop a.totop::after {
  color: var(--wp-white) !important;
  border-color: var(--wp-white) !important;
  background: transparent !important;
}

/* =========================================================
   11) Kontaktseite
========================================================= */

main#contact{
  background:#f5f5f7 !important;
}

main#contact > .wrp{
  max-width:1280px !important;
  margin:0 auto !important;
  padding:54px 24px 70px !important;
}

main#contact form#druckmuster article{
  position:relative !important;
  overflow:hidden !important;
  background:#fff !important;
  padding:50px 64px !important;
  border-top:6px solid #a0c306 !important;
  box-shadow:0 18px 44px rgba(31,42,49,.10) !important;
}

main#contact form#druckmuster article::before{
  content:"";
  position:absolute;
  right:-90px;
  top:-90px;
  width:240px;
  height:240px;
  border-radius:50%;
  background:linear-gradient(135deg,#a0c306,#e42164,#eb5e14);
  opacity:.10;
  pointer-events:none;
}

main#contact h1{
  margin:0 0 10px 0 !important;
  font-size:36px !important;
  line-height:1.15 !important;
  font-weight:800 !important;
  color:#1F2A31 !important;
}

main#contact .rte_container{
  max-width:760px !important;
  margin:0 0 36px 0 !important;
  font-size:16px !important;
  line-height:1.6 !important;
  color:#1F2A31 !important;
}

main#contact hr,
main#contact .clr{
  display:none !important;
}

/* altes Float-Layout abschalten */
main#contact form#druckmuster fieldset,
#contact form fieldset{
  float:none !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  box-sizing:border-box !important;
}

/* Abteilung/Werk ausblenden */
main#contact fieldset:has(#abteilung){
  display:none !important;
}

/* Grid */
main#contact .form_billing-address{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:24px 48px !important;
}

/* sinnvolle Reihenfolge */
main#contact fieldset:has(#firma){ order:1 !important; }
main#contact fieldset:has(#vorname){ order:2 !important; }
main#contact fieldset:has(#nachname){ order:3 !important; }
main#contact fieldset:has(#email){ order:4 !important; }
main#contact fieldset:has(#telefon){ order:5 !important; }
main#contact fieldset:has(#strasse){ order:6 !important; }
main#contact fieldset.col-2{ order:7 !important; }
main#contact fieldset:has(#rg_land_liste){ order:8 !important; }
main#contact fieldset:has(#mobiltelefon){ order:9 !important; }
main#contact fieldset:has(#telefax){ order:10 !important; }
main#contact fieldset:has(#homepage){ order:11 !important; }

/* Fieldset-Inhalt: Stern neben Label */
main#contact fieldset{
  display:block !important;
  grid-template-columns:auto 1fr !important;
  align-items:start !important;
  column-gap:6px !important;
}

main#contact label{
  grid-column:1 !important;
  display:inline-block !important;
  float:none !important;
  width:auto !important;
  margin:0 0 8px 0 !important;
  text-align:left !important;
  font-size:13px !important;
  line-height:1.3 !important;
  font-weight:800 !important;
  color:#1F2A31 !important;
}

main#contact input:not([type="checkbox"]):not([type="file"]),
main#contact select,
main#contact textarea{
  grid-column:1 / -1 !important;
  display:block !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  height:48px !important;
  padding:12px 14px !important;
  border:1px solid #d8dde2 !important;
  border-radius:3px !important;
  background:#f7f8fa !important;
  color:#1F2A31 !important;
  font-size:15px !important;
  line-height:1.4 !important;
  box-sizing:border-box !important;
  transition:.2s ease !important;
}

main#contact input:focus,
main#contact select:focus,
main#contact textarea:focus{
  border-color:#a0c306 !important;
  background:#fff !important;
  box-shadow:0 0 0 3px rgba(160,195,6,.16) !important;
  outline:none !important;
}

/* Mitteilung */
main#contact fieldset:has(#mitteilung){
  margin-top:32px !important;
}

main#contact textarea#mitteilung{
  width:100% !important;
  min-height:220px !important;
  resize:vertical !important;
}

/* =========================================================
   Dateiupload + Datenschutz + Button
========================================================= */

main#contact .upload_field{
    display:block !important;
    width:100% !important;

    margin:42px 0 24px 0 !important;
    padding:24px !important;

    background:#fafbfc !important;
    border:2px dashed #d8dde2 !important;
    border-radius:8px !important;
    box-sizing:border-box !important;
}

/* Dateiupload-Label klar vom Mitteilungsfeld trennen */
main#contact .upload_field label{

    margin:0 0 16px 0 !important;
    padding:0 !important;

    font-size:15px !important;
    font-weight:800 !important;
    line-height:1.3 !important;
    color:#e42164 !important;
}

/* Dateifeld bündig innerhalb der Uploadbox */
main#contact .upload_field input[type=file]{
    display:block !important;
    width:100% !important;

    margin:0 !important;
    padding:12px !important;

    background:#fff !important;
    border:1px solid #d8dde2 !important;
    border-radius:4px !important;

    font-size:14px !important;
    color:#1F2A31 !important;
    box-sizing:border-box !important;
    cursor:pointer !important;
}

/* Button "Durchsuchen..." */
main#contact .upload_field input[type=file]::file-selector-button{
    background:#a0c306 !important;
    color:#fff !important;
    border:0 !important;

    padding:10px 18px !important;
    margin-right:16px !important;

    border-radius:4px !important;
    font-weight:800 !important;
    cursor:pointer !important;
    transition:.2s ease !important;
}

main#contact .upload_field input[type=file]::file-selector-button:hover{
    background:#8daf05 !important;
}

/* Fortschrittsbalken bündig */
main#contact .upload_field .progressBar,
main#contact .progressBar{
    display:block !important;
    width:100% !important;
    height:8px !important;

    margin:16px 0 0 0 !important;

    border:0 !important;
    border-radius:20px !important;
    overflow:hidden !important;

    accent-color:#a0c306 !important;
}

main#contact .progressBar::-webkit-progress-bar{
    background:#eceff2 !important;
    border-radius:20px !important;
}

main#contact .progressBar::-webkit-progress-value{
    background:#a0c306 !important;
    border-radius:20px !important;
}

main#contact .progressBar::-moz-progress-bar{
    background:#a0c306 !important;
}

/* Dateiliste */
main#contact .upload_field .files{
    margin-top:18px !important;
    font-size:14px !important;
}

/* Datenschutz direkt unter Uploadbox */
main#contact .privacypolicyContact{
    display:flex !important;
    align-items:flex-start !important;
    gap:10px !important;

    margin:24px 0 0 0 !important;
    padding:0 !important;
}

main#contact .privacypolicyContact input{
    flex:0 0 17px !important;
    width:17px !important;
    height:17px !important;

    margin:2px 0 0 0 !important;
    accent-color:#a0c306 !important;
}

main#contact .privacypolicyContact label{
    margin:0 !important;

    font-size:14px !important;
    font-weight:400 !important;
    line-height:1.5 !important;
    color:#1F2A31 !important;
}

main#contact .privacypolicyContact a{
    color:#e42164 !important;
}

/* Button bündig unter Checkbox rechts */
main#contact button#submit{
    float:none !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:320px !important;
    height:50px !important;

    margin:28px 0 0 auto !important;

    background:#e42164 !important;
    color:#fff !important;
    border:none !important;
    border-radius:3px !important;

    font-size:16px !important;
    font-weight:800 !important;
    transition:.2s ease !important;
}

main#contact button#submit:hover{
    background:#c91b57 !important;
    transform:translateY(-1px) !important;
}

/* Hinweis unten */
main#contact form#druckmuster article > p{
  display:block !important;
  margin:26px 0 0 0 !important;
  font-size:14px !important;
  line-height:1.5 !important;
  color:#1F2A31 !important;
}

/* USP */
main#contact #usp-bar{
  margin-top:0 !important;
  padding:48px 0 !important;
}


/* Alte Pflichtsterne komplett ausblenden */
main#contact form#druckmuster .requirement,
#contact form .requirement,
#contact .requirement{
    display:none !important;
    visibility:hidden !important;
    width:0 !important;
    height:0 !important;
    overflow:hidden !important;
    margin:0 !important;
    padding:0 !important;
}

/* Stern direkt hinter dem Label */
#contact label::after{
    content:" *";
    color:#e42164;
    font-weight:700;
}

/* keine Sterne bei optionalen Feldern */
#contact fieldset:has(#firma) label::after,
#contact fieldset:has(#strasse) label::after,
#contact fieldset:has(#homepage) label::after,
#contact fieldset:has(#telefax) label::after,
#contact fieldset:has(#mobiltelefon) label::after,
#contact fieldset:has(#rg_land_liste) label::after,
#contact fieldset.col-2 label::after{
    content:"";
}

/* PLZ / Ort wirklich nebeneinander */
main#contact form#druckmuster fieldset.col-2{
  display:grid !important;
  grid-template-columns:30% calc(70% - 12px) !important;
  column-gap:12px !important;
  row-gap:8px !important;
  align-items:end !important;
}

main#contact form#druckmuster fieldset.col-2 label{
  grid-column:1 / -1 !important;
}

main#contact form#druckmuster fieldset.col-2 input[type="number"],
main#contact form#druckmuster fieldset.col-2 input[type="text"]{
  display:block !important;
  grid-column:auto !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  margin:0 !important;
}

/* Tablet */
@media(max-width:1100px){
  main#contact > .wrp{
    padding:38px 24px 54px !important;
  }

  main#contact form#druckmuster article{
    padding:38px 34px !important;
  }

  main#contact .form_billing-address{
    gap:22px 28px !important;
  }
}

/* Mobile */
@media(max-width:767px){
  main#contact > .wrp{
    padding:24px 16px 42px !important;
  }

  main#contact form#druckmuster article{
    padding:28px 20px !important;
    border-top-width:5px !important;
  }

  main#contact h1{
    font-size:30px !important;
  }

  main#contact .form_billing-address,
  main#contact fieldset.col-2{
    display:block !important;
  }

  main#contact fieldset{
    margin-bottom:18px !important;
  }

  main#contact input:not([type="checkbox"]):not([type="file"]),
  main#contact select,
  main#contact textarea{
    font-size:16px !important;
  }

  main#contact textarea#mitteilung{
    min-height:180px !important;
  }

  main#contact .upload_field{
    margin-top:30px !important;
    padding:20px !important;
  }

  main#contact button#submit{
    width:100% !important;
    margin-top:24px !important;
  }
}


/* =========================================================
   12) Responsive
========================================================= */

@media (max-width: 1180px) {
  #navbar + nav.breadcrumb,
  nav.breadcrumb.wrp:not(:has(ul[id^="schritt"])),
  nav.breadcrumb:not(:has(ul[id^="schritt"])) {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}

@media (max-width: 599px) {
  #navbar + nav.breadcrumb,
  nav.breadcrumb.wrp:not(:has(ul[id^="schritt"])),
  nav.breadcrumb:not(:has(ul[id^="schritt"])) {
    padding: 3px 20px 5px !important;
    margin-top: 2px !important;
  }
}

/* Sicherheitsnetz: verhindert horizontales Scrollen / Rauslaufen aus dem Screen
   auf allen mobilen und Tablet-Breiten, unabhängig von einzelnen Komponenten */
@media (min-width: 600px) and (max-width: 1024px) {
  .slide__text-heading {
    font-size: 38px !important;
  }

  .slide__text-desc {
    font-size: 15px !important;
    line-height: 1.6 !important;
  }

  .slide__text-link {
    max-width: 220px !important;
    width: auto !important;
    height: 48px !important;
    font-size: 16px !important;
    justify-content: center !important;
  }
}

/* Handy + Tablet (bis 1024px): Slider untereinander, kein Überlappen */
@media (max-width: 1024px) {
  .slider-container,
  .slider,
  .slide,
  section.slider,
  aside:has(.slider),
  aside:has(.slider-container) {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    overflow-y: visible !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  .slide,
  .slider .slide,
  .slide.slick-slide,
  .slick-slide,
  .slick-slide > div {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  .slider .slick-list,
  .slider .slick-track {
    height: auto !important;
    min-height: 0 !important;
  }

  .slide__content {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 24px 20px 16px !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  .slide__text,
  .slide__text-wrap,
  .slide__text-wrapper {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    order: 1 !important;
  }

  .slide__text-wrap .slide__text-heading,
  .slide__text-wrap .slide__text-desc,
  .slide__text .slide__text-heading,
  .slide__text .slide__text-desc {
    position: static !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    box-sizing: border-box !important;
  }

  .slide__text-wrap .slide__text-link,
  .slide__text .slide__text-link {
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    max-width: 220px !important;
    min-width: 170px !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    box-sizing: border-box !important;
    align-self: flex-start !important;
  }

  .slide__content > .slide__text-heading,
  .slide__content > .slide__text-desc,
  .slide__text,
  .slide__text-wrap,
  .slide__text-wrapper,
  .slide__content > content,
  .slide__text-heading,
  .slide__text-desc {
    position: static !important;
    display: block !important;
    order: 1 !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 0 16px 0 !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    z-index: 2 !important;
    text-align: left !important;
    box-sizing: border-box !important;
  }

  .slide__content > .slide__text-heading,
  .slide__text-heading {
    order: 1 !important;
    font-size: 30px !important;
    line-height: 1.15 !important;
    margin-bottom: 12px !important;
  }

  .slide__content > .slide__text-desc,
  .slide__text-desc {
    order: 2 !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
    margin-bottom: 16px !important;
  }

  .slide__content > .slide__text-link,
  .slide__text-link,
  .slide__text-wrap .slide__text-link,
  .slide__text .slide__text-link {
    order: 3 !important;
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: 220px !important;
    min-width: 170px !important;
    height: 48px !important;
    padding: 0 28px !important;
    margin: 0 0 20px 0 !important;
    align-self: flex-start !important;
    text-align: center !important;
    z-index: 2 !important;
    box-sizing: border-box !important;
  }

  .slide__bg,
  .slide__img,
  .slide__content > .slide__bg,
  .slide__content > img.slide__img {
    position: relative !important;
    display: block !important;
    order: 10 !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 300px !important;
    min-height: 260px !important;
    max-height: 380px !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    margin: 0 auto !important;
    padding: 0 !important;
    transform: none !important;
    z-index: 1 !important;
    background-position: center center !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    object-fit: contain !important;
    object-position: center center !important;
  }

  .slider-pagi,
  .slider-pagination,
  ul.slider-pagi {
    position: static !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    margin: 8px 0 12px !important;
    padding: 0 !important;
    transform: none !important;
  }
}

/* Tablet inkl. iPad Mini (600–1024px): Text links, Bild rechts */
@media (min-width: 600px) and (max-width: 1024px) {
  .slide__content {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    grid-template-areas:
      "heading image"
      "desc image"
      "link image" !important;
    gap: 12px 28px !important;
    padding: 16px 24px 20px !important;
    align-items: start !important;
  }

  .slide__text,
  .slide__text-wrap,
  .slide__text-wrapper {
    display: contents !important;
  }

  .slide__content > .slide__text-heading,
  .slide__text-heading,
  .slide__text-wrap .slide__text-heading,
  .slide__text .slide__text-heading {
    grid-area: heading !important;
    order: unset !important;
    font-size: 34px !important;
    line-height: 1.12 !important;
    margin: 0 !important;
  }

  .slide__content > .slide__text-desc,
  .slide__text-desc,
  .slide__text-wrap .slide__text-desc,
  .slide__text .slide__text-desc {
    grid-area: desc !important;
    order: unset !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
    margin: 0 !important;
  }

  .slide__content > .slide__text-link,
  .slide__text-link,
  .slide__text-wrap .slide__text-link,
  .slide__text .slide__text-link {
    grid-area: link !important;
    order: unset !important;
    width: auto !important;
    max-width: 200px !important;
    min-width: 170px !important;
    height: 48px !important;
    margin: 4px 0 0 0 !important;
    justify-content: center !important;
    align-self: start !important;
  }

  .slide__bg,
  .slide__img,
  .slide__content > .slide__bg,
  .slide__content > img.slide__img {
    grid-area: image !important;
    order: unset !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 300px !important;
    min-height: 260px !important;
    max-height: 340px !important;
    margin: 0 !important;
    align-self: center !important;
    background-position: center center !important;
    background-size: contain !important;
    object-fit: contain !important;
    object-position: center center !important;
  }
}

/* iPad Mini (600–767px): etwas kompakter im 2-Spalten-Grid */
@media (min-width: 600px) and (max-width: 767px) {
  .slide__content {
    gap: 10px 16px !important;
    padding: 12px 16px 16px !important;
  }

  .slide__content > .slide__text-heading,
  .slide__text-heading,
  .slide__text-wrap .slide__text-heading,
  .slide__text .slide__text-heading {
    font-size: 30px !important;
    line-height: 1.1 !important;
  }

  .slide__content > .slide__text-desc,
  .slide__text-desc,
  .slide__text-wrap .slide__text-desc,
  .slide__text .slide__text-desc {
    font-size: 15px !important;
    line-height: 1.5 !important;
  }

  .slide__bg,
  .slide__img,
  .slide__content > .slide__bg,
  .slide__content > img.slide__img {
    height: 260px !important;
    min-height: 220px !important;
    max-height: 300px !important;
  }
}

/* Startseite Hero „Werbepost planen“: iPad + Handy einspaltig */
@media (max-width: 1024px) {
  .cms_homepage_text {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow-x: hidden !important;
  }

  .cms_homepage_text .wrp,
  .cms_homepage_text .wrp:has(.werbepost-info-benefits) {
    max-width: 100% !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
  }

  .cms_homepage_text .werbepost-info,
  .cms_homepage_text .wrp:has(.werbepost-info-benefits) .werbepost-info,
  .werbepost-info {
    display: block !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    gap: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 36px 0 28px !important;
    box-sizing: border-box !important;
  }

  .cms_homepage_text .werbepost-info-content,
  .werbepost-info-content {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 0 28px 0 !important;
    padding: 0 !important;
    position: static !important;
    grid-column: unset !important;
    grid-row: unset !important;
  }

  .cms_homepage_text .werbepost-info-content > *,
  .werbepost-info-content > * {
    position: static !important;
    max-width: 100% !important;
    overflow-wrap: break-word !important;
    grid-column: unset !important;
    grid-row: unset !important;
  }

  .werbepost-info-kicker {
    margin-bottom: 12px !important;
  }

  .werbepost-info-headline,
  .werbepost-info h1 {
    font-size: 28px !important;
    line-height: 1.25 !important;
    margin: 0 0 16px 0 !important;
  }

  .werbepost-info h1 span {
    display: block !important;
    margin-top: 6px !important;
  }

  .werbepost-info p:not(.werbepost-info-kicker) {
    font-size: 16px !important;
    line-height: 1.65 !important;
    margin-bottom: 16px !important;
  }

  .werbepost-info-content > p:not(.werbepost-info-kicker):last-of-type {
    margin-bottom: 24px !important;
  }

  .cms_homepage_text .werbepost-info-benefits,
  .werbepost-info:has(.werbepost-info-benefits) .werbepost-info-benefits,
  .werbepost-info-benefits {
    display: block !important;
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 24px 0 0 0 !important;
    padding: 24px 20px !important;
    grid-column: auto !important;
    grid-row: auto !important;
    justify-self: stretch !important;
    align-self: stretch !important;
    float: none !important;
    clear: both !important;
    box-sizing: border-box !important;
  }

  .werbepost-info:has(.werbepost-info-benefits) .werbepost-info-content > a.werbepost-info-button,
  .cms_homepage_text .werbepost-info-content > a.werbepost-info-button,
  .werbepost-info-button {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 16px 0 !important;
    box-sizing: border-box !important;
  }

  .werbepost-info:has(.werbepost-info-benefits) .werbepost-info-content > a.werbepost-info-phone,
  .cms_homepage_text .werbepost-info-content > a.werbepost-info-phone,
  .werbepost-info-phone {
    display: inline-block !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 0 20px 0 !important;
    margin-left: 0 !important;
    text-align: left !important;
    box-sizing: border-box !important;
  }

  .cms_homepage_text .wrp:has(> .rte_container:empty):not(:has(.werbepost-info-benefits)) {
    display: block !important;
    padding: 44px 0 36px !important;
  }

  .cms_homepage_text .wrp > .rte_container:empty {
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 28px !important;
    padding: 24px 20px !important;
    box-sizing: border-box !important;
  }

  /* Produktübersicht: 2 Spalten, saubere Karten */
  .trade-groups {
    padding-bottom: 32px !important;
  }

  .trade-groups .wrp {
    max-width: 100% !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "headline"
      "sidebar"
      "content" !important;
    row-gap: 16px !important;
    column-gap: 0 !important;
  }

  .trade-groups aside,
  .trade-groups aside.sidebar {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    grid-area: sidebar !important;
  }

  .trade-groups .content,
  .trade-groups .tab_content,
  .trade-groups.full .content,
  .trade-groups .content:has(> article.card) {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
    width: 100% !important;
    max-width: 100% !important;
    grid-area: content !important;
  }

  .trade-groups .headline {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 28px 0 16px !important;
    grid-area: headline !important;
    box-sizing: border-box !important;
    text-align: left !important;
  }

  .trade-groups article.card {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: var(--wp-white) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .trade-groups article.card a {
    display: block !important;
    width: 100% !important;
    text-decoration: none !important;
  }

  .trade-groups article.card figure {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    margin: 0 !important;
    background: var(--wp-white) !important;
  }

  .trade-groups article.card img {
    display: block !important;
    width: 100% !important;
    height: 180px !important;
    min-height: 180px !important;
    max-height: 180px !important;
    object-fit: cover !important;
    object-position: center center !important;
    background: #dcdfe3 !important;
  }

  .trade-groups article.card h2,
  .trade-groups article.card figcaption h2 {
    font-size: 18px !important;
    padding: 8px 20px 4px !important;
    text-align: left !important;
  }

  .trade-groups article.card .link {
    font-size: 15px !important;
    padding: 0 20px 18px !important;
    text-align: left !important;
  }

  /* USP-Leiste: Karten untereinander, Icon links */
  #usp-bar .wrp {
    padding: 0 20px !important;
    box-sizing: border-box !important;
  }

  #usp-bar .individualUSP {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    gap: 28px !important;
    padding: 28px 0 !important;
  }

  #usp-bar .individualUSPCard {
    display: grid !important;
    grid-template-columns: 52px 1fr !important;
    grid-template-rows: auto auto !important;
    column-gap: 14px !important;
    row-gap: 6px !important;
    align-items: start !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    text-align: left !important;
  }

  #usp-bar .individualUSPCard img {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    width: 48px !important;
    height: auto !important;
    margin: 0 !important;
  }

  #usp-bar .individualUSPCard strong {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    text-align: left !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
  }

  #usp-bar .individualUSPCard p {
    grid-column: 2 !important;
    grid-row: 2 !important;
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    text-align: left !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
  }
}

@media (max-width: 599px) {
  .werbepost-info-headline,
  .werbepost-info h1 {
    font-size: 26px !important;
  }

  .werbepost-info p:not(.werbepost-info-kicker) {
    font-size: 15px !important;
  }

  .cms_homepage_text .werbepost-info,
  .cms_homepage_text .wrp:has(.werbepost-info-benefits) .werbepost-info,
  .werbepost-info {
    padding: 32px 0 24px !important;
  }
}

@media (max-width: 900px) {
  *,
  *::before,
  *::after {
    box-sizing: border-box !important;
  }

  html,
  body {
    width: 100% !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  img,
  svg,
  video,
  picture {
    max-width: 100% !important;
    height: auto !important;
  }

  #page,
  #inhalt,
  #main,
  .wrp {
    max-width: 100% !important;
  }
}

/* Hero-Seiten: blaue Fläche nach oben, Text-Innenabstand unverändert */
@media (max-width: 1024px) {
  #page,
  #inhalt,
  #main {
    padding-top: 0 !important;
  }

  .rte_container:has(.wp-postwurf-page),
  .rte_container:has(.wpdp-page),
  .rte_container:has(.wp-hero),
  .rte_container:has(.wpdp-hero) {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  .wp-postwurf-page {
    margin-top: -40px !important;
  }

  .wpdp-page {
    margin-top: -52px !important;
  }
}

/* iPad: Druckprodukte-Hero näher ans Logo, Textposition bleibt */
@media (min-width: 600px) and (max-width: 1024px) {
  .rte_container:has(.wpdp-page),
  .wrp:has(.rte_container .wpdp-page) {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  .wpdp-page {
    margin-top: -92px !important;
  }
}

@media (max-width: 599px) {
  .wp-postwurf-page {
    margin-top: -32px !important;
  }

  .wpdp-page {
    margin-top: -40px !important;
  }
}

@media (max-width: 599px) {
  .slide__text-heading {
    font-size: 32px !important;
  }

  .slide__text-desc {
    font-size: 15px !important;
    line-height: 1.6 !important;
  }

  .slide__content > .slide__text-link,
  .slide__text-link {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 54px !important;
    font-size: 18px !important;
    align-self: stretch !important;
  }
}

@media (max-width: 1280px) {
  #navbar .wrp > a.topMenu,
  #serviceButton {
    font-size: 12px !important;
    padding: 10px 8px !important;
  }

  #navbar .cd-dropdown-trigger {
    font-size: 12px !important;
    min-width: 185px !important;
    padding: 0 34px 0 14px !important;
    white-space: nowrap !important;
  }

  #navbar .wp-dp-partner-badge img,
  #navbar .service-menu::after,
  #navbar .wrp:has(#serviceButton):not(:has(.service-menu)) #serviceButton::after {
    height: 48px !important;
    max-height: 48px !important;
    width: 38px !important;
  }
}

@media screen and (max-width: 900px) {
  header.main #customer-menu,
  #navbar {
    display: none !important;
  }

  #offcanvas_open {
    display: block !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 4px !important;
    position: fixed !important;
    top: 20px !important;
    right: 20px !important;
    background: #f7f7f7 !important;
    z-index: 21 !important;
  }

  #offcanvas_open:before {
    content: "q" !important;
    font-size: 30px !important;
    line-height: 40px !important;
    font-family: icon !important;
  }
}

@media (min-width: 600px) and (max-width: 1024px) {
  /* USP-Leiste: 2x2 statt 4 nebeneinander (inkl. iPad Mini) */
  #usp-bar .wrp > .individualUSP,
  #usp-bar .individualUSP {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 28px 32px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 32px 0 !important;
    box-sizing: border-box !important;
  }

  #usp-bar .individualUSPCard {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }
}

@media (min-width: 768px) and (max-width: 1100px) {  
  /* =========================
     FOOTER
  ========================= */

  footer.main {
    padding: 40px 28px 32px !important;
  }

  footer.main .wrp {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr !important;
    grid-template-areas: "contact service product" !important;
    column-gap: 36px !important;
    row-gap: 0 !important;
    align-items: start !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    position: relative !important;
  }

  footer.main .wrp::after {
    display: none !important;
    content: none !important;
  }

  footer.main address,
  footer.main nav {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
  }

  footer.main address {
    grid-area: contact !important;
  }

  footer.main nav[aria-label="Service Menu"] {
    grid-area: service !important;
  }

  footer.main nav[aria-label="Product Menu"] {
    grid-area: product !important;
  }

  footer.main nav[aria-label="Service Menu"],
  footer.main nav[aria-label="Product Menu"] {
    transform: none !important;
  }

  footer.main .headline {
    margin-top: 0 !important;
    margin-bottom: 18px !important;
  }

  footer.main nav ul {
    margin: 0 !important;
    padding: 0 !important;
  }

  footer.main nav li {
    margin: 0 0 10px 0 !important;
    white-space: normal !important;
  }

  footer.main nav a {
    display: inline-block !important;
    white-space: normal !important;
    word-break: normal !important;
  }

  footer.main .social-networks {
    margin-bottom: 8px !important;
  }

  footer.main address > div:last-child {
    position: relative !important;
    top: -4rem !important;
    left: auto !important;
    width: auto !important;
    margin-top: 6px !important;
  }

  footer.main .social-networks .icon-instagram,
  footer.main .social-networks .icon-linkedIn {
    left: 0 !important;
  }
}

@media (max-width: 767px) {
  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  #service-bar {
    font-size: 12px !important;
  }

  #navbar .wrp {
    display: block !important;
  }

  #usp-bar .individualUSP {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
  }

  #usp-bar .individualUSPCard {
    display: grid !important;
    grid-template-columns: 52px 1fr !important;
    grid-template-rows: auto auto !important;
    column-gap: 14px !important;
    row-gap: 6px !important;
    text-align: left !important;
  }

  #usp-bar .individualUSPCard img {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    width: 48px !important;
    height: auto !important;
  }

  #usp-bar .individualUSPCard strong {
    grid-column: 2 !important;
    grid-row: 1 !important;
    text-align: left !important;
  }

  #usp-bar .individualUSPCard p {
    grid-column: 2 !important;
    grid-row: 2 !important;
    text-align: left !important;
  }

  header.main {
    height: 60px !important;
    min-height: 60px !important;
    overflow: visible !important;
  }

  header.main > .wrp {
    height: 60px !important;
    padding: 6px 16px !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    overflow: visible !important;
    position: relative !important;
    box-sizing: border-box !important;
  }

  #brand-logo {
    margin-top: 2px !important;
    width: auto !important;
    max-width: calc(100% - 64px) !important;
  }

  #brand-logo img {
    width: auto !important;
    max-width: 180px !important;
    height: auto !important;
    display: block !important;
  }

  #offcanvas_open {
    display: block !important;
    position: absolute !important;
    top: 8px !important;
    right: 16px !important;
    width: 40px !important;
    height: 40px !important;
    flex: 0 0 auto !important;
    z-index: 9999 !important;
  }

  header.main form.search,
  header.main .search,
  header.main input[type="search"],
  header.main input[name="search"],
  header.main input#search,
  #customer-menu,
  #customer-menu .menu-item-login,
  #customer-menu .menu-item-cart {
    display: none !important;
  }

  footer.main {
    margin: 0 !important;
    padding: 34px 24px 16px !important;
    overflow: visible !important;
  }

  footer.main .wrp::after {
    display: none !important;
    content: none !important;
  }

  footer.main .wrp {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  footer.main address,
  footer.main nav {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
  }

  footer.main > .wrp > * + * {
    margin-top: 34px !important;
  }

  footer.main nav[aria-label="Service Menu"],
  footer.main nav[aria-label="Product Menu"] {
    transform: none !important;
  }

  footer.main address > div:last-child {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: auto !important;
    margin: 0 !important;
  }

  footer.main .social-networks .icon-instagram,
  footer.main .social-networks .icon-linkedIn {
    left: 0 !important;
  }

  #footer-bar {
    margin: 0 !important;
    padding: 0 !important;
    min-height: 38px !important;
  }

  #footer-bar nav {
    margin: 0 !important;
    padding: 0px 18px !important;
    min-height: 38px !important;
    box-sizing: border-box !important;
  }

  #totop a.totop {
    width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
  }
}

/* =========================================================
   13) Offcanvas – Mobile Navigation
========================================================= */
#offcanvas #shortcut_menu a.btn.cart,
#offcanvas #shortcut_menu a.btn.login {
  background: var(--wp-teal) !important;
  background-color: var(--wp-teal) !important;
  border-color: var(--wp-teal) !important;
}

#offcanvas #shortcut_menu a.btn.cart:hover,
#offcanvas #shortcut_menu a.btn.login:hover,
#offcanvas #shortcut_menu a.btn.cart:focus,
#offcanvas #shortcut_menu a.btn.login:focus {
  background: var(--wp-teal-hover) !important;
  background-color: var(--wp-teal-hover) !important;
  border-color: var(--wp-teal-hover) !important;
}

#offcanvas .clr {
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
}

#offcanvas ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

#offcanvas h3 {
  margin: 8px 0 4px !important;
  padding: 6px 14px 2px !important;
  font-size: 15px !important;
  line-height: 1.25 !important;
}

#offcanvas #offcanvas_productmenu {
  margin: 0 !important;
  padding: 0 !important;
}

#offcanvas #offcanvas_productmenu > li,
#offcanvas ul:not(#offcanvas_productmenu) > li {
  float: none !important;
  clear: both !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  position: relative !important;
  margin: 0 !important;
  padding: 0 !important;
}

#offcanvas #offcanvas_productmenu > li:first-child {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
}

#offcanvas #offcanvas_productmenu > li > ul > li.menu-item-0,
#offcanvas #offcanvas_productmenu > li > ul > li.menu-item-1 {
  margin: 0 !important;
  padding: 0 !important;
}

#offcanvas #offcanvas_productmenu > li > ul > li.menu-item-0 > a,
#offcanvas #offcanvas_productmenu > li > ul > li.menu-item-1 > a,
#offcanvas #offcanvas_productmenu a.dataTopMenu,
#offcanvas ul:not(#offcanvas_productmenu) > li > a {
  display: block !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  line-height: 1.3 !important;
  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: break-word !important;
  padding: 7px 14px !important;
  box-sizing: border-box !important;
  position: relative !important;
}

#offcanvas #offcanvas_productmenu > li > ul > li.menu-item-0 em,
#offcanvas #offcanvas_productmenu > li > ul > li.menu-item-1 em {
  display: none !important;
}

#offcanvas #offcanvas_productmenu > li > ul > li > ul {
  display: block !important;
  position: relative !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  height: auto !important;
  overflow: visible !important;
  margin: 0 0 2px !important;
  padding: 0 0 0 10px !important;
}

#offcanvas #offcanvas_productmenu > li > ul > li > ul > li a {
  display: block !important;
  height: auto !important;
  line-height: 1.3 !important;
  white-space: normal !important;
  padding: 5px 14px 5px 18px !important;
  box-sizing: border-box !important;
  font-size: 14px !important;
}

#offcanvas ul:not(#offcanvas_productmenu) {
  margin-top: 0 !important;
  padding-top: 6px !important;
  border-top: 1px solid var(--wp-border) !important;
}

#offcanvas ul:not(#offcanvas_productmenu) > li:first-child h3 {
  margin-top: 2px !important;
  padding-top: 2px !important;
}

#offcanvas #offcanvas_productmenu > li:has(> a.dataTopMenu) {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* =========================================================
   14) Neukunden Postwurfspezial – USP-Leiste ausgeblendet (in teil1)
========================================================= */
