/* === SEAHUNTING DESIGN-LOCK GATE 2 === */
:root {
  --sh-orange: #d97706;
  --sh-forest: #213117;
  --sh-dark: #11150f;
  --sh-paper: #f8f8f6;
  --sh-line: #dedfd9;
}

.catalog-page,
.derived-page,
.catalog-trust-section {
  background: var(--sh-paper) !important;
}

.catalog-page {
  padding-bottom: 20px !important;
}

.catalog-trust-section {
  padding: 0 0 30px !important;
}

.catalog-page > .et_pb_row,
.derived-page > .et_pb_row,
.catalog-trust-section > .et_pb_row {
  width: 95.5% !important;
  max-width: 1604px !important;
}

.catalog-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 225px;
  align-items: start;
  gap: 24px;
}

.catalog-layout > .et_pb_column {
  width: auto !important;
  margin: 0 !important;
}

.catalog-main {
  display: grid !important;
  gap: 12px;
}

.catalog-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.catalog-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.catalog-hero-module,
.catalog-grid-heading,
.law-source {
  grid-column: 1 / -1;
}

.catalog-hero-copy {
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 28px;
  background: linear-gradient(90deg, #f3f4f2 0%, #f3f4f2 82%, rgba(243,244,242,.65) 100%);
  text-align: left !important;
}

.catalog-hero-copy h1,
.derived-hero h1 {
  margin: 0 0 14px !important;
  color: #17210f !important;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif !important;
  font-size: clamp(48px, 4vw, 66px) !important;
  line-height: 1 !important;
  letter-spacing: .5px;
  text-transform: uppercase;
}

body .catalog-hero-copy h2 {
  margin: 0 0 18px !important;
  color: #161914 !important;
  font-family: Lato, Arial, sans-serif !important;
  font-size: 19px !important;
  line-height: 1.25 !important;
}

html body .catalog-page .catalog-hero-module .catalog-hero-copy h2 {
  color: #161914 !important;
}

body .catalog-hero-copy p {
  max-width: 390px;
  margin: 0 !important;
  color: #242923 !important;
  font-family: Lato, Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

.catalog-hero-visual {
  position: relative;
  min-width: 0;
}

.catalog-hero-visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.catalog-feature {
  position: absolute;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  max-width: 300px;
  padding: 15px 20px;
  background: #1c2d12;
  color: #fff;
  text-align: left !important;
}

.catalog-feature strong,
.catalog-grid-title,
.catalog-side-panel h2,
.catalog-side-benefit h3,
.catalog-accessory-card-inner h3,
.law-card-inner h3 {
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif !important;
  letter-spacing: .25px;
  text-transform: uppercase;
}

.catalog-brand-card {
  min-width: 0;
  min-height: 150px;
  border: 1px solid var(--sh-line);
  border-radius: 5px;
  background: #fff;
  box-shadow: 0 2px 8px rgba(18,25,16,.04);
}

.catalog-sidebar {
  display: grid !important;
  gap: 16px;
}

.catalog-side-panel {
  padding: 20px;
  border-radius: 5px;
  text-align: left !important;
}

.catalog-side-panel-dark {
  background: linear-gradient(145deg, #243619, #182610);
  color: #fff;
}

.catalog-side-panel-light {
  border: 1px solid #e1ded3;
  background: #f4f1e9;
  color: #171a16;
}

.catalog-side-panel h2 {
  margin: 0 0 18px !important;
  color: inherit !important;
  font-size: 20px !important;
  line-height: 1.1 !important;
}

.catalog-side-benefit {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 10px;
  margin-top: 20px;
}

.catalog-side-benefit > div {
  grid-column: 2;
  min-width: 0;
}

.catalog-side-benefit h3 {
  margin: 0 0 5px !important;
  color: #fff !important;
  font-size: 15px !important;
}

.catalog-side-benefit p,
.catalog-side-panel-light p {
  margin: 0 !important;
  color: inherit !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
}

.catalog-side-button {
  display: block;
  margin-top: 18px;
  padding: 11px 12px;
  border-radius: 3px;
  background: #1d3014;
  color: #fff !important;
  font-size: 12px;
  font-weight: 700;
  text-align: center;
  text-decoration: none !important;
  text-transform: uppercase;
}

.catalog-bottom-trust-row {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  padding: 22px 0 18px !important;
  border-top: 1px solid #d8dad4;
}

.catalog-bottom-trust-row > .et_pb_column {
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 22px !important;
}

.catalog-bottom-trust-row > .et_pb_column + .et_pb_column {
  border-left: 1px solid #e2e3de;
}

.law-card {
  min-height: 205px;
}

.derived-layout > .et_pb_column {
  width: 100% !important;
}

.derived-main {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.derived-hero-module {
  grid-column: 1 / -1;
}

.derived-hero {
  min-height: 290px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 46px;
  border-radius: 6px;
  background: linear-gradient(120deg, #17220f, #29371f);
  text-align: left !important;
}

.derived-hero h1 { color: #fff !important; }
.derived-hero p {
  max-width: 760px;
  margin: 0 !important;
  color: #e8ece4 !important;
  font-size: 18px !important;
  line-height: 1.55 !important;
}

.derived-card {
  min-height: 220px;
  border: 1px solid var(--sh-line);
  border-radius: 5px;
  background: #fff;
}

.derived-page-impressum .derived-main,
.derived-page-datenschutz .derived-main {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.contact-layout {
  display: grid !important;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  align-items: start;
  gap: 24px;
  margin-top: 24px !important;
}

.contact-layout > .et_pb_column {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

.contact-info-card,
.contact-form-column {
  border: 1px solid var(--sh-line);
  border-radius: 5px;
  background: #fff;
}

.contact-info-card {
  min-height: 520px;
  padding: 34px;
  background: #f3f0e8;
}

.contact-info-card h2,
.contact-form-heading h2 {
  margin: 12px 0 18px !important;
  color: #1d3014 !important;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif !important;
  font-size: 36px !important;
  text-transform: uppercase;
}

html body .derived-page-kontakt .contact-info-card h2,
html body .derived-page-kontakt .contact-form-heading h2 {
  color: #1d3014 !important;
}

.contact-info-card h3 {
  margin: 24px 0 6px !important;
  color: #1d3014 !important;
  font-size: 15px !important;
}

.contact-info-card p {
  margin: 0 !important;
  color: #343a33 !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
}

.contact-info-card a {
  color: #bd6503 !important;
  font-weight: 700;
}

.contact-form-column {
  padding: 28px;
}

.contact-form-heading h2 {
  margin-top: 0 !important;
}

#seahunting-contact-form {
  border: 0 !important;
  box-shadow: none !important;
}

#seahunting-contact-form input,
#seahunting-contact-form textarea {
  border: 1px solid #d9dbd5 !important;
  background: #f3f1eb !important;
  color: #171a16 !important;
}

#seahunting-contact-form button,
#seahunting-contact-form .et_pb_contact_submit {
  border: 0 !important;
  border-radius: 3px !important;
  background: #1d3014 !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
}

@media (max-width: 1180px) {
  .catalog-layout { grid-template-columns: minmax(0, 1fr) 210px; gap: 18px; }
  .catalog-cols-4 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 980px) {
  .catalog-layout { grid-template-columns: 1fr; }
  .catalog-sidebar { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .catalog-cols-4,
  .catalog-cols-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .catalog-hero-inner { grid-template-columns: 48% 52%; }
  .catalog-bottom-trust-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .catalog-bottom-trust-row > .et_pb_column {
    padding: 18px 22px !important;
  }
  .catalog-bottom-trust-row > .et_pb_column:nth-child(3) {
    border-left: 0;
  }
  .catalog-bottom-trust-row > .et_pb_column:nth-child(n + 3) {
    border-top: 1px solid #e2e3de;
  }
}

@media (max-width: 767px) {
  .catalog-page,
  .derived-page { padding-top: 18px !important; }
  .catalog-page > .et_pb_row,
  .derived-page > .et_pb_row,
  .catalog-trust-section > .et_pb_row { width: 90% !important; }
  .catalog-hero-copy { padding: 28px 22px; }
  .catalog-hero-copy h1,
  .derived-hero h1 { font-size: 44px !important; }
  .catalog-hero-visual { min-height: 260px; }
  .catalog-cols-4,
  .catalog-cols-3 { grid-template-columns: 1fr; }
  .catalog-sidebar { grid-template-columns: 1fr; }
  .catalog-bottom-trust-row {
    grid-template-columns: 1fr;
    padding: 8px 0 !important;
  }
  .catalog-bottom-trust-row > .et_pb_column {
    padding: 18px 8px !important;
    border-left: 0 !important;
  }
  .catalog-bottom-trust-row > .et_pb_column + .et_pb_column {
    border-top: 1px solid #e2e3de;
  }
  .derived-main { grid-template-columns: 1fr; }
  .derived-page-impressum .derived-main,
  .derived-page-datenschutz .derived-main { grid-template-columns: 1fr; }
  .derived-hero { min-height: 320px; padding: 32px 24px; }
  .contact-layout { grid-template-columns: 1fr; }
  .contact-info-card { min-height: 0; }
}

/* === Native Modulstruktur — Katalog- und Folgeseiten === */

.catalog-main { align-content: start; }

/* --- Abgeleitete Seiten --- */

.derived-main {
  display: grid !important;
  gap: 18px;
  align-content: start;
}

.derived-cols-1 { grid-template-columns: minmax(0, 1fr); }
.derived-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.derived-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.derived-hero-module {
  grid-column: 1 / -1;
  display: flex !important;
  min-height: 290px;
  flex-direction: column;
  justify-content: center;
  padding: 46px;
  border-radius: 6px;
  background: linear-gradient(120deg, #17220f, #29371f);
  text-align: left !important;
}

.derived-hero-title .et_pb_module_header {
  margin: 0 0 14px !important;
  color: #fff !important;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif !important;
  font-size: clamp(48px, 4vw, 66px) !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: .5px;
  text-transform: uppercase;
}

.derived-hero-title,
.derived-hero-lead,
.derived-card-title,
.derived-card-copy,
.derived-hero-lead .et_pb_text_inner p,
.derived-card-copy .et_pb_text_inner p {
  text-align: left !important;
}

.derived-hero-lead .et_pb_text_inner p {
  max-width: 760px;
  margin: 0 !important;
  color: #e8ece4 !important;
  font-size: 18px !important;
  line-height: 1.55 !important;
}

.derived-card {
  display: block !important;
  min-height: 220px;
  padding: 28px;
  border: 1px solid var(--sh-line);
  border-radius: 5px;
  background: #fff;
  text-align: left !important;
}

.derived-card-title .et_pb_module_header {
  margin: 0 0 14px !important;
  color: #1d3014 !important;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif !important;
  font-size: 24px !important;
  font-weight: 400 !important;
  letter-spacing: .25px;
  text-transform: uppercase;
}

.derived-card-copy .et_pb_text_inner p {
  margin: 0 !important;
  color: #343a33 !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}

.derived-card .et_pb_button_module_wrapper {
  margin: 18px 0 0 !important;
  text-align: left;
}

a.et_pb_button.derived-card-button {
  display: inline-block;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  /* Abgedunkelt gegenueber dem Entwurf: 4,5:1 gegen Weiss. */
  color: #a85500 !important;
  font-family: Lato, Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

a.et_pb_button.derived-card-button:hover { color: #7d3f00 !important; }
a.et_pb_button.derived-card-button:after { display: none !important; }

/* --- Kontaktseite --- */

.contact-info-column,
.contact-form-column { min-width: 0; }

.contact-info-card {
  display: block !important;
  min-height: 520px;
  padding: 34px;
  border: 1px solid var(--sh-line);
  border-radius: 5px;
  background: #f3f0e8;
  text-align: left !important;
}

.contact-info-title .et_pb_module_header,
.contact-form-heading .et_pb_module_header {
  margin: 0 0 18px !important;
  color: #1d3014 !important;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif !important;
  font-size: 36px !important;
  font-weight: 400 !important;
  letter-spacing: .25px;
  text-transform: uppercase;
}

.contact-info-subtitle .et_pb_module_header {
  margin: 24px 0 6px !important;
  color: #1d3014 !important;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  letter-spacing: .25px;
  text-transform: uppercase;
}

.contact-info-card .et_pb_text_inner p {
  margin: 0 !important;
  color: #343a33 !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
  text-align: left !important;
}

.contact-info-card .et_pb_text_inner a {
  color: #a85500 !important;
  font-weight: 700;
}

.contact-form-column {
  padding: 28px;
  border: 1px solid var(--sh-line);
  border-radius: 5px;
  background: #fff;
}

@media (max-width: 980px) {
  .derived-cols-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
  .derived-cols-2,
  .derived-cols-3 { grid-template-columns: 1fr; }
  .derived-hero-module { min-height: 320px; padding: 32px 24px; }
  .derived-hero-title .et_pb_module_header { font-size: 44px !important; }
  .contact-info-card { min-height: 0; padding: 26px; }
}

.catalog-hero-module {
  display: grid !important;
  grid-template-columns: 41% 59%;
  /* Feste Hoehe nach Entwurf — sonst bestimmt das Seitenverhaeltnis des Produktbilds die Karte. */
  height: 420px;
  overflow: hidden;
  border: 1px solid #e1e3de;
  border-radius: 6px;
  background: #f2f3f1;
}

.catalog-hero-copy {
  z-index: 2;
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  padding: 28px;
  background: linear-gradient(90deg, #f3f4f2 0%, #f3f4f2 82%, rgba(243,244,242,.65) 100%);
}

.catalog-hero-title .et_pb_module_header {
  margin: 0 0 14px !important;
  color: #17210f !important;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif !important;
  font-size: clamp(48px, 4vw, 66px) !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: .5px;
  text-transform: uppercase;
}

.catalog-hero-claim .et_pb_module_header {
  margin: 0 0 18px !important;
  color: #161914 !important;
  font-family: Lato, Arial, sans-serif !important;
  font-size: 19px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

.catalog-hero-lead .et_pb_text_inner p {
  max-width: 390px;
  margin: 0 !important;
  color: #242923 !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

.catalog-hero-visual {
  position: relative;
  min-width: 0;
  overflow: hidden;
}

.catalog-hero-image,
.catalog-hero-image .et_pb_image_wrap {
  display: block;
  width: 100%;
  height: 100%;
}

.catalog-hero-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.catalog-feature {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 2;
  display: flex !important;
  max-width: 300px;
  flex-direction: column;
  padding: 15px 20px;
  background: #1c2d12;
}

.catalog-feature-title .et_pb_module_header {
  margin: 0 !important;
  color: #fff !important;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif !important;
  font-size: 19px !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  letter-spacing: .25px;
  text-transform: uppercase;
}

.catalog-feature-text .et_pb_text_inner p {
  margin: 4px 0 0 !important;
  color: #e9ede4 !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
}

.catalog-grid-heading .et_pb_module_header {
  margin: 6px 0 0 !important;
  color: #151914 !important;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  letter-spacing: .25px;
  text-transform: uppercase;
}

/* --- Rasterverhaeltnis nach Entwurf --- */

.catalog-layout {
  grid-template-columns: minmax(0, 1fr) 250px !important;
  gap: 26px !important;
}

/* --- Marken- und Kategorienkarten --- */

.catalog-brand-card {
  display: flex !important;
  min-height: 215px;
  flex-direction: column;
  justify-content: flex-start;
  padding: 22px;
}

.catalog-brand-logo { margin: 0 0 18px !important; }

/* Die Logodateien bringen eigenen Rand mit; auf volle Kartenbreite gedehnt wird der sichtbar.
   Deshalb behaelt das Bild sein Seitenverhaeltnis und wird nur ueber die Hoehe gesetzt. */
.catalog-brand-logo .et_pb_image_wrap {
  display: inline-block;
  width: auto;
  max-width: 100%;
}

.catalog-brand-logo img {
  display: block;
  width: auto;
  max-width: 100%;
  height: 78px;
  object-fit: contain;
  /* Die Dateien haben einen leicht grauen Grund; auf der weissen Karte faellt er sonst auf. */
  mix-blend-mode: multiply;
}

/* Langwaffen ist die einzige Katalogseite, die die Logos linksbuendig und kleiner setzt. */
.catalog-page-langwaffen .catalog-brand-logo img { height: 58px; }

.catalog-brand-copy .et_pb_text_inner p {
  margin: 0 !important;
  color: #20251f !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}

.catalog-brand-title .et_pb_module_header {
  margin: 0 0 8px !important;
  color: #151914 !important;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  letter-spacing: .25px;
  text-transform: uppercase;
}

.catalog-brand-icon .et_pb_blurb_content { max-width: none; }

.catalog-brand-icon .et_pb_main_blurb_image { margin-bottom: 10px !important; }

.catalog-brand-icon .et-pb-icon {
  color: #243619 !important;
  font-size: 42px !important;
}

/* --- Seitenspalte --- */

.catalog-side-panel {
  display: block !important;
  padding: 20px;
}

.catalog-side-title .et_pb_module_header {
  margin: 0 0 18px !important;
  color: inherit !important;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
  letter-spacing: .25px;
  text-transform: uppercase;
}

.catalog-side-panel-dark .catalog-side-title .et_pb_module_header { color: #fff !important; }
.catalog-side-panel-light .catalog-side-title .et_pb_module_header { color: #171a16 !important; }

.catalog-side-benefit { margin-top: 20px !important; }

.catalog-side-benefit .et_pb_blurb_content {
  display: grid;
  max-width: none;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
}

.catalog-side-benefit .et_pb_blurb_content::before {
  display: block;
  width: 32px;
  height: 32px;
  content: "";
  background-color: #fff;
  -webkit-mask: var(--sh-symbol) center / contain no-repeat;
  mask: var(--sh-symbol) center / contain no-repeat;
}

.catalog-side-benefit .et_pb_blurb_container { text-align: left; }

.catalog-side-benefit .et_pb_module_header {
  margin: 0 0 5px !important;
  color: #fff !important;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  letter-spacing: .25px;
  text-transform: uppercase;
}

.catalog-side-benefit .et_pb_blurb_description p {
  margin: 0 !important;
  color: #e4e9de !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
}

.catalog-side-copy .et_pb_text_inner p {
  margin: 0 !important;
  color: #171a16 !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
}

.catalog-side-panel .et_pb_button_module_wrapper { margin: 18px 0 0 !important; }

a.et_pb_button.catalog-side-button {
  display: block;
  width: 100%;
  padding: 13px 12px !important;
  border: 0 !important;
  border-radius: 3px !important;
  background: #1d3014 !important;
  color: #fff !important;
  font-family: Lato, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: .04em;
  text-align: center;
  text-transform: uppercase;
}

a.et_pb_button.catalog-side-button:hover { background: #24401a !important; }
a.et_pb_button.catalog-side-button:after { display: none !important; }

/* --- Vertrauensleiste --- */

.catalog-bottom-trust .et_pb_blurb_content {
  display: grid;
  max-width: none;
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  min-height: 52px;
}

.catalog-bottom-trust .et_pb_blurb_content::before {
  display: block;
  width: 42px;
  height: 42px;
  content: "";
  background-color: #17210f;
  -webkit-mask: var(--sh-symbol) center / contain no-repeat;
  mask: var(--sh-symbol) center / contain no-repeat;
}

.catalog-bottom-trust .et_pb_blurb_container { text-align: left; }

.catalog-bottom-trust .et_pb_module_header {
  margin: 0 !important;
  color: #171a16 !important;
  font-family: Lato, Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: .015em;
  text-transform: uppercase;
}

.catalog-bottom-trust .et_pb_blurb_description p {
  margin: 6px 0 0 !important;
  color: #414740 !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
}

/* Divi zentriert Text- und Bildmodule serienmaessig; der Entwurf ist linksbuendig. */
.catalog-hero-copy,
.catalog-hero-lead,
.catalog-grid-heading,
.catalog-brand-card,
.catalog-brand-copy,
.catalog-feature,
.catalog-feature-text,
.catalog-side-panel,
.catalog-side-copy,
.law-card,
.law-source {
  text-align: left !important;
}

.catalog-hero-title .et_pb_module_header,
.catalog-side-title .et_pb_module_header,
.catalog-side-benefit .et_pb_module_header,
.catalog-bottom-trust .et_pb_module_header,
.law-card-blurb .et_pb_module_header {
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
}

/* Markenlogos stehen im Entwurf mittig, nur Langwaffen setzt sie links. */
.catalog-brand-logo { text-align: center !important; }
.catalog-page-langwaffen .catalog-brand-logo { text-align: left !important; }

/* Kategorienkarten (Zubehoer) stehen mittig, nicht linksbuendig. */
.catalog-accessory-card,
.catalog-accessory-card .catalog-brand-logo,
.catalog-accessory-card .catalog-brand-copy {
  text-align: center !important;
}

.catalog-accessory-card { align-items: center; }

.catalog-accessory-card .catalog-brand-logo img {
  height: 88px;
  object-position: center;
}

.catalog-accessory-card .catalog-brand-title .et_pb_module_header,
.catalog-accessory-card .catalog-brand-copy .et_pb_text_inner p {
  text-align: center !important;
}

/* --- Gesetzeskarten --- */

.law-card {
  position: relative;
  display: block !important;
  min-height: 205px;
  padding: 20px;
  border: 1px solid var(--sh-line);
  border-radius: 5px;
  background: #fff;
  box-shadow: 0 2px 8px rgba(18,25,16,.04);
}

.law-card-number {
  position: absolute;
  top: 20px;
  right: 20px;
  margin: 0 !important;
}

.law-card-number .et_pb_text_inner p {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  margin: 0 !important;
  border-radius: 4px;
  background: #243619;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

.law-card-blurb .et_pb_blurb_content { max-width: none; }

.law-card-blurb .et_pb_blurb_content::before {
  display: block;
  width: 34px;
  height: 34px;
  margin: 0 0 16px;
  content: "";
  background-color: #243619;
  -webkit-mask: var(--sh-symbol) left center / contain no-repeat;
  mask: var(--sh-symbol) left center / contain no-repeat;
}

.law-card-blurb .et_pb_blurb_container { text-align: left; }

.law-card-blurb .et_pb_module_header {
  margin: 0 0 10px !important;
  color: #151914 !important;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  letter-spacing: .25px;
  text-transform: uppercase;
}

.law-card-blurb .et_pb_blurb_description p {
  margin: 0 !important;
  color: #2d332c !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
}

/* --- Quellenband --- */

.law-source {
  grid-column: 1 / -1;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px 24px;
  padding: 22px;
  border: 1px solid #dedbd1;
  background: #f3f0e8;
}

.law-source-title {
  grid-column: 1;
  grid-row: 1;
}

.law-source-title .et_pb_module_header {
  margin: 0 !important;
  color: #151914 !important;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  letter-spacing: .25px;
  text-transform: uppercase;
}

.law-source-copy {
  grid-column: 1;
  grid-row: 2;
}

.law-source-copy .et_pb_text_inner p {
  margin: 0 !important;
  color: #2d332c !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
}

.law-source .et_pb_button_module_wrapper {
  grid-column: 2;
  grid-row: 1 / span 2;
  margin: 0 !important;
}

a.et_pb_button.law-source-button {
  display: inline-block;
  padding: 11px 14px !important;
  border: 1px solid #243619 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #243619 !important;
  font-family: Lato, Arial, sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: .04em;
  text-transform: uppercase;
}

a.et_pb_button.law-source-button:hover { background: rgba(36,54,25,.07) !important; }
a.et_pb_button.law-source-button:after { display: none !important; }

/* Symbolsatz nach Entwurf. Die Form liegt in der Maske, die Farbe in der Regel darueber. */
.sh-symbol-leiste-beratung { --sh-symbol: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIuNiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj4KICA8cGF0aCBkPSJNMTEgMzV2LTZjMC0xMS42IDkuNC0yMSAyMS0yMXMyMSA5LjQgMjEgMjF2NiIvPgogIDxwYXRoIGQ9Ik0xMSAzMkg2djE1aDEwVjMyaC01Wm00MiAwaDV2MTVINDhWMzJoNVoiLz4KICA8cGF0aCBkPSJNNDggNDdjLTEuOCA3LjQtNy40IDExLTE2IDExIi8+CiAgPHBhdGggZD0iTTI3IDU4aDEwIi8+Cjwvc3ZnPgo="); }
.sh-symbol-leiste-erfahrung { --sh-symbol: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIuNiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj4KICA8cGF0aCBkPSJNMjQgMjdjLTEuNC0zLjYtNC42LTYuNi04LjYtNy42Ii8+CiAgPHBhdGggZD0iTTQwIDI3YzEuNC0zLjYgNC42LTYuNiA4LjYtNy42Ii8+CiAgPHBhdGggZD0ibTIyLjYgMjEuNC02LjItMTAuNiIvPgogIDxwYXRoIGQ9Im0xNi40IDEwLjgtNi40LTEuNG02LjQgMS40LTEtNi42Ii8+CiAgPHBhdGggZD0ibTIwLjIgMTYuOC02LjgtLjYiLz4KICA8cGF0aCBkPSJtNDEuNCAyMS40IDYuMi0xMC42Ii8+CiAgPHBhdGggZD0ibTQ3LjYgMTAuOCA2LjQtMS40bS02LjQgMS40IDEtNi42Ii8+CiAgPHBhdGggZD0ibTQzLjggMTYuOCA2LjgtLjYiLz4KICA8cGF0aCBkPSJNMjQgMzBjMCA5LjQgMy40IDE2LjIgOCAxOS40IDQuNi0zLjIgOC0xMCA4LTE5LjQgMC00LjYtMy42LTgtOC04cy04IDMuNC04IDhaIi8+CiAgPHBhdGggZD0iTTI4LjYgMzRoLjAyTTM1LjQgMzRoLjAyIi8+CiAgPHBhdGggZD0iTTMyIDQxLjZ2MyIvPgo8L3N2Zz4K"); }
.sh-symbol-leiste-qualitaet { --sh-symbol: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIuNiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj4KICA8cGF0aCBkPSJNMzIgNSA1NCAxNHYxNmMwIDE0LjQtOS42IDI0LjgtMjIgMzFDMTkuNiA1NC44IDEwIDQ0LjQgMTAgMzBWMTRMMzIgNVoiLz4KICA8cGF0aCBkPSJtMjIgMzEuNSA3LjIgNy4yTDQzIDIyLjQiLz4KPC9zdmc+Cg=="); }
.sh-symbol-leiste-service { --sh-symbol: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIuNiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj4KICA8cGF0aCBkPSJNNiAxNGgzOHYzMkg2eiIvPgogIDxwYXRoIGQ9Ik00NCAyNGgxMmw2IDEydjEwSDQ0eiIvPgogIDxjaXJjbGUgY3g9IjE5IiBjeT0iNTAiIHI9IjYiLz4KICA8Y2lyY2xlIGN4PSI1MSIgY3k9IjUwIiByPSI2Ii8+CiAgPHBhdGggZD0iTTEzIDUwaC03bTE5IDBoMjAiLz4KPC9zdmc+Cg=="); }
.sh-symbol-panel-beratung { --sh-symbol: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjMiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+CiAgPHBhdGggZD0iTTMyIDQgNTUgMTcuNXYyN0wzMiA1OCA5IDQ0LjV2LTI3TDMyIDRaIi8+CiAgPHBhdGggZD0iTTIxIDMzdi0zYzAtNi4xIDQuOS0xMSAxMS0xMXMxMSA0LjkgMTEgMTF2MyIvPgogIDxwYXRoIGQ9Ik0yMSAzMS41aC0zdjhoNXYtOGgtMlptMjIgMGgzdjhoLTV2LThoMloiLz4KICA8cGF0aCBkPSJNNDAgNDBjLTEgMy42LTMuOCA1LjUtOCA1LjUiLz4KPC9zdmc+Cg=="); }
.sh-symbol-panel-erfahrung { --sh-symbol: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjMiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+CiAgPHBhdGggZD0iTTMyIDQgNTUgMTcuNXYyN0wzMiA1OCA5IDQ0LjV2LTI3TDMyIDRaIi8+CiAgPGNpcmNsZSBjeD0iMzIiIGN5PSIzMSIgcj0iOSIvPgogIDxwYXRoIGQ9Ik0zMiAxOHY1bTAgMTZ2NU0xOSAzMWg1bTE2IDBoNSIvPgo8L3N2Zz4K"); }
.sh-symbol-panel-marken { --sh-symbol: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjMiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+CiAgPHBhdGggZD0iTTMyIDQgNTUgMTcuNXYyN0wzMiA1OCA5IDQ0LjV2LTI3TDMyIDRaIi8+CiAgPHBhdGggZD0ibTMyIDIwIDQgOC40IDkuMiAxLjMtNi42IDYuNSAxLjYgOS4yTDMyIDQxLjFsLTguMiA0LjMgMS42LTkuMi02LjYtNi41IDkuMi0xLjNMMzIgMjBaIi8+Cjwvc3ZnPgo="); }
.sh-symbol-panel-regeln { --sh-symbol: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjMiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+CiAgPHBhdGggZD0iTTMyIDQgNTUgMTcuNXYyN0wzMiA1OCA5IDQ0LjV2LTI3TDMyIDRaIi8+CiAgPHBhdGggZD0iTTI1IDIwaDExbDYgNnYxOEgyNVYyMFoiLz4KICA8cGF0aCBkPSJNMzYgMjB2Nmg2Ii8+CiAgPHBhdGggZD0iTTI5IDMzaDltLTkgNWg5Ii8+Cjwvc3ZnPgo="); }
.sh-symbol-panel-verantwortung { --sh-symbol: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjMiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+CiAgPHBhdGggZD0iTTMyIDQgNTUgMTcuNXYyN0wzMiA1OCA5IDQ0LjV2LTI3TDMyIDRaIi8+CiAgPGNpcmNsZSBjeD0iMzIiIGN5PSIyNyIgcj0iNS41Ii8+CiAgPHBhdGggZD0iTTIyIDQzYzAtNC44IDQuNS04IDEwLThzMTAgMy4yIDEwIDgiLz4KICA8cGF0aCBkPSJNMjAuNSAzMi41YTQgNCAwIDEgMSAyLjYtN20yMC40IDdhNCA0IDAgMSAwLTIuNi03Ii8+Cjwvc3ZnPgo="); }
.sh-symbol-panel-zuverlaessigkeit { --sh-symbol: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjMiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+CiAgPHBhdGggZD0iTTMyIDUgNTMgMTMuNnYxNC45YzAgMTMuNC04LjkgMjMuMS0yMSAyOC45LTEyLjEtNS44LTIxLTE1LjUtMjEtMjguOVYxMy42TDMyIDVaIi8+CiAgPHBhdGggZD0ibTIzIDMxLjUgNi42IDYuNkw0MiAyNS42Ii8+Cjwvc3ZnPgo="); }
.sh-symbol-recht-kategorien { --sh-symbol: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIuOCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj4KICA8cGF0aCBkPSJNMzIgOCA1OCAyMSAzMiAzNCA2IDIxIDMyIDhaIi8+CiAgPHBhdGggZD0ibTYgMzIgMjYgMTMgMjYtMTMiLz4KICA8cGF0aCBkPSJtNiA0MyAyNiAxMyAyNi0xMyIvPgo8L3N2Zz4K"); }
.sh-symbol-recht-register { --sh-symbol: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIuOCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj4KICA8cGF0aCBkPSJNMjAgMTJoLTZ2NDRoMzZWMTJoLTYiLz4KICA8cGF0aCBkPSJNMjQgN2gxNnYxMEgyNFY3WiIvPgogIDxwYXRoIGQ9Ik0yMyAzMGgxOE0yMyAzOWgxOE0yMyA0OGgxMSIvPgo8L3N2Zz4K"); }
.sh-symbol-recht-besitzkarte { --sh-symbol: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIuOCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj4KICA8cGF0aCBkPSJNNiAxNGg1MnYzNkg2eiIvPgogIDxjaXJjbGUgY3g9IjIyIiBjeT0iMjgiIHI9IjYiLz4KICA8cGF0aCBkPSJNMTMgNDJjMS42LTQuNiA1LTcgOS03czcuNCAyLjQgOSA3Ii8+CiAgPHBhdGggZD0iTTM4IDI1aDEzTTM4IDMzaDEzTTM4IDQxaDkiLz4KPC9zdmc+Cg=="); }
.sh-symbol-recht-verwahrung { --sh-symbol: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIuOCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj4KICA8cGF0aCBkPSJNMTMgMjhoMzh2MzBIMTN6Ii8+CiAgPHBhdGggZD0iTTIxIDI4di05YTExIDExIDAgMCAxIDIyIDB2OSIvPgogIDxjaXJjbGUgY3g9IjMyIiBjeT0iNDEiIHI9IjQiLz4KICA8cGF0aCBkPSJNMzIgNDV2NiIvPgo8L3N2Zz4K"); }
.sh-symbol-recht-erwerb { --sh-symbol: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIuOCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj4KICA8cGF0aCBkPSJNNSAxMWg4bDYgMjloMzBsNi0yMUgxNyIvPgogIDxjaXJjbGUgY3g9IjI0IiBjeT0iNTIiIHI9IjQuNSIvPgogIDxjaXJjbGUgY3g9IjQ1IiBjeT0iNTIiIHI9IjQuNSIvPgo8L3N2Zz4K"); }
.sh-symbol-recht-transport { --sh-symbol: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIuOCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj4KICA8cGF0aCBkPSJNNyA0NHYtOWw1LTE0aDQwbDUgMTR2OSIvPgogIDxwYXRoIGQ9Ik03IDM1aDUwIi8+CiAgPHBhdGggZD0iTTcgNDRoNTB2Nkg3eiIvPgogIDxjaXJjbGUgY3g9IjE4IiBjeT0iNTAiIHI9IjQuNSIvPgogIDxjaXJjbGUgY3g9IjQ2IiBjeT0iNTAiIHI9IjQuNSIvPgo8L3N2Zz4K"); }

@media (max-width: 1180px) {
  .catalog-layout { grid-template-columns: minmax(0, 1fr) 230px !important; gap: 20px !important; }
  .catalog-hero-module { grid-template-columns: 44% 56%; height: 380px; }
}

@media (max-width: 980px) {
  .catalog-layout { grid-template-columns: 1fr !important; }
  .catalog-hero-module { grid-template-columns: 48% 52%; height: 340px; }
}

@media (max-width: 767px) {
  .catalog-hero-module { grid-template-columns: 1fr; height: auto; }
  .catalog-hero-copy { padding: 28px 22px; }
  .catalog-hero-title .et_pb_module_header { font-size: 44px !important; }
  .catalog-hero-visual { min-height: 260px; }
  .catalog-hero-lead .et_pb_text_inner p { max-width: none; }
  .law-source { grid-template-columns: 1fr; }
  .law-source .et_pb_button_module_wrapper { grid-column: 1; grid-row: auto; }
}

/* Bewegung nur, wenn das Betriebssystem sie zulaesst. */
@media (prefers-reduced-motion: reduce) {
  .et_animated,
  .et_pb_module.et_animated,
  .et-pb-before-scroll-animation {
    animation: none !important;
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}
