/* ===== SIR legacy layout fixes v14 — ebook page CSS + hero/youtube ===== */
/* ===== Font Awesome / IcoMoon — force working font files ===== */
@font-face {
  font-family: 'FontAwesome';
  src: url('../fonts/fontawesome-webfont.eot?v=4.7.0');
  src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),
       url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),
       url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),
       url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),
       url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'IcoMoon';
  src: url('../fonts/IcoMoon.eot');
  src: url('../fonts/IcoMoon.eot?#iefix') format('embedded-opentype'),
       url('../fonts/IcoMoon.woff') format('woff'),
       url('../fonts/IcoMoon.ttf') format('truetype'),
       url('../fonts/IcoMoon.svg#IcoMoon') format('svg');
  font-weight: normal;
  font-style: normal;
}
.fa,
.fa:before,
[class^="fa-"]:before,
[class*=" fa-"]:before {
  font-family: FontAwesome !important;
  font-style: normal !important;
  font-weight: normal !important;
  font-variant: normal !important;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

html {
  /* only hide horizontal bleed from 100vw; do NOT force a Y scrollbar (live has none) */
  overflow-x: hidden !important;
  overflow-y: visible !important;
  height: auto !important;
  max-width: 100% !important;
  scroll-behavior: smooth;
}
body.helix-legacy,
body.site {
  overflow-x: hidden !important;
  overflow-y: visible !important;
  height: auto !important;
  max-height: none !important;
  min-height: 100%;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
}

body.helix-legacy.modal-open,
html.modal-open {
  overflow-y: visible !important;
  padding-right: 0 !important;
}

/* Kill Helix article padding (live uses .com-sppagebuilder to zero this) */
html body.helix-legacy #sp-main-body,
#sp-main-body.sir-main-full,
#sp-main-body {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  float: none !important;
  clear: both !important;
}

#sp-component.sir-component-full,
#sp-component,
main#content,
main.content,
.com-content-article.item-page,
.com-content-article__body,
.sir-legacy-page,
.sir-legacy-page .sp-page-builder,
.sir-legacy-page #sp-page-builder,
.sir-legacy-page .page-content,
#sp-page-builder,
#sp-page-builder .page-content {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  box-sizing: border-box !important;
  float: none !important;
  position: relative !important;
  left: 0 !important;
}

/* Header/footer keep normal centered containers */
#sp-top-bar .container,
#sp-header .container,
#sp-footer .container,
#sp-bottom .container {
  max-width: 1170px;
  width: auto;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
}

/* Hide Joomla article chrome (incl. J4/J6 prev/next article nav — not on live) */
.item-page > .page-header,
.item-page .article-info,
.item-page .icons,
.item-page .pager,
.item-page ul.pager,
.com-content-article .pager,
.com-content-article .article-info,
.com-content-article .page-header,
.com-content-article .published,
.com-content-article .category-name,
.com-content-article .hits,
.com-content-article .pagenavigation,
.com-content-article nav.pagenavigation,
.com-content-article .pagination,
.item-page .pagenavigation,
.item-page nav.pagenavigation,
.item-page .pagination,
nav.pagenavigation,
.pagenavigation {
  display: none !important;
}

/* ===== FULL BLEED: top-level sections only (NOT nested rows like experts lists) ===== */
#sp-page-builder .page-content > .sppb-section,
#slider.sppb-section {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  left: 0 !important;
  right: auto !important;
  position: relative !important;
  box-sizing: border-box !important;
}

/* Nested sections stay inside their parent column (live behavior) */
#sp-page-builder .sppb-section .sppb-section,
.sir-legacy-page .sppb-section .sppb-section {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  left: auto !important;
}

/* Slider only: edge-to-edge media */
#slider .sppb-container-inner,
#slider .sppb-row,
#slider [class*="sppb-col-"],
#slider .sppb-column,
#slider .sppb-column-addons,
#slider .sppb-carousel,
#slider .sppb-carousel-inner,
#slider .sppb-item {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

#slider .sppb-item img,
#slider .sppb-item.sppb-item-has-bg > img,
.sir-legacy-page .sppb-item.sppb-item-has-bg > img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
}

/* Content columns: readable max width like live */
.sir-legacy-page .sppb-row-container,
#sp-page-builder .sppb-row-container {
  width: 100% !important;
  max-width: 1170px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
  box-sizing: border-box !important;
  float: none !important;
}

@media (min-width: 768px) {
  .sir-legacy-page .sppb-row-container,
  #sp-page-builder .sppb-row-container {
    width: 100% !important;
    max-width: 750px !important;
  }
}
@media (min-width: 992px) {
  .sir-legacy-page .sppb-row-container,
  #sp-page-builder .sppb-row-container {
    width: 100% !important;
    max-width: 970px !important;
  }
}
@media (min-width: 1200px) {
  .sir-legacy-page .sppb-row-container,
  #sp-page-builder .sppb-row-container {
    width: 100% !important;
    max-width: 1170px !important;
  }
}

/* Keep SPPB row gutters (-15px) so 2-col lists match live — only neutralize Bootstrap .row in chrome */
.sir-legacy-page > .row,
#sp-main-body > .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Experts / text blocks: left align like live (inline styles can lose to theme) */
#sp-page-builder .sppb-addon-text-block.sppb-text-left,
#sp-page-builder .sppb-addon-text-block.sppb-text-left .sppb-addon-content,
#sp-page-builder .sppb-addon-text-block.sppb-text-left .sppb-addon-content p,
#sp-page-builder .sppb-addon-text-block.sppb-text-left .sppb-addon-content strong {
  text-align: left !important;
}

/* Disclaimer grey box */
#sp-page-builder .sppb-addon.note,
#sp-page-builder .note {
  font-size: 12px !important;
  line-height: 18px !important;
  background-color: rgba(0, 0, 0, 0.05) !important;
  padding: 10px 20px !important;
  display: block !important;
}

/* Two-column list spacing inside nested sections */
#sp-page-builder .sppb-section .sppb-section .sppb-row {
  display: flex !important;
  flex-wrap: wrap !important;
  margin-left: -15px !important;
  margin-right: -15px !important;
  width: auto !important;
  max-width: none !important;
}
#sp-page-builder .sppb-section .sppb-section [class*="sppb-col-"] {
  padding-left: 15px !important;
  padding-right: 15px !important;
  box-sizing: border-box !important;
}

.sir-legacy-page img {
  max-width: 100%;
  height: auto;
}

#sp-header,
#sp-header.menu-fixed {
  max-width: 100vw;
  left: 0 !important;
  right: 0 !important;
}

*, *::before, *::after { box-sizing: border-box; }

.body-innerwrapper,
.offcanvas-init,
.layout-boxed {
  overflow: visible !important;
  height: auto !important;
  transform: none !important;
  width: 100% !important;
  max-width: 100% !important;
}

html body.helix-legacy {
  overflow-x: hidden !important;
  overflow-y: visible !important;
  height: auto !important;
  min-height: 100vh !important;
}
html body.helix-legacy #sp-header,
html body.helix-legacy #sp-top-bar,
html body.helix-legacy #sp-main-body,
html body.helix-legacy #sp-footer,
html body.helix-legacy #sp-bottom {
  transform: none !important;
  left: 0 !important;
  right: 0 !important;
  margin-left: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}
html body.helix-legacy #sp-main-body {
  overflow: visible !important;
  padding: 0 !important;
}

/* ===== Brand buttons (SPPB default was light-grey + white text = invisible) ===== */
a.sppb-btn,
.sppb-btn {
  color: #fff !important;
}
.sppb-btn-default,
a.sppb-btn.sppb-btn-default,
.sppb-btn-custom,
a.sppb-btn.sppb-btn-custom,
.sppb-btn-primary,
a.sppb-btn.sppb-btn-primary {
  background-color: #00448a !important;
  border-color: #00448a !important;
  color: #fff !important;
}
.sppb-btn-default:hover,
.sppb-btn-default:focus,
a.sppb-btn.sppb-btn-default:hover,
a.sppb-btn.sppb-btn-default:focus,
.sppb-btn-custom:hover,
.sppb-btn-custom:focus,
a.sppb-btn.sppb-btn-custom:hover,
a.sppb-btn.sppb-btn-custom:focus,
.sppb-btn-primary:hover,
.sppb-btn-primary:focus,
a.sppb-btn.sppb-btn-primary:hover,
a.sppb-btn.sppb-btn-primary:focus {
  background-color: #f39100 !important;
  border-color: #f39100 !important;
  color: #fff !important;
}

/* Hero arrows: template hides them without body.itemid-101 — force show like live */
#slider .sppb-carousel-arrow,
#slider .sppb-carousel .sppb-carousel-arrow,
.sppb-carousel .sppb-carousel-arrow.left,
.sppb-carousel .sppb-carousel-arrow.right {
  display: block !important;
  visibility: visible !important;
  opacity: 0.8 !important;
  z-index: 20 !important;
  color: #fff !important;
  width: 40px !important;
  pointer-events: auto !important;
}
#slider .sppb-carousel-arrow .fa,
#slider .sppb-carousel-arrow .fa-chevron-left,
#slider .sppb-carousel-arrow .fa-chevron-right {
  display: inline-block !important;
  visibility: visible !important;
  color: #fff !important;
  font-size: 24px !important;
  font-family: FontAwesome !important;
}

/* ===== J2Commerce / E-Book product page ===== */
body.view-article #sp-main-body,
body.view-article #sp-component {
  width: 100% !important;
  max-width: 100% !important;
}
/* Full SPPB ebook landing (hero + details) — edge to edge like live */
body.view-article .item-page:has(.sp-page-builder),
body.view-article .com-content-article:has(.sp-page-builder),
body.view-article .item-page:has(.sir-ebook-page),
body.view-article .com-content-article:has(.sir-ebook-page) {
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.view-article .item-page:has(.sp-page-builder) .page-header,
body.view-article .com-content-article:has(.sp-page-builder) .page-header,
body.view-article .item-page:has(.sp-page-builder) .article-info,
body.view-article .com-content-article:has(.sp-page-builder) .article-info {
  display: none !important;
}
body.view-article .sir-ebook-page .j2store-product-images img,
body.view-article .sir-ebook-page .j2store-mainimage img,
body.view-article .sir-ebook-page img.j2store-product-thumb-image-1 {
  width: 220px !important;
  max-width: 100% !important;
  height: auto !important;
}
body.view-article .sir-ebook-page .product-price-container .sale-price,
body.view-article .sir-ebook-page .product-price-container .base-price {
  color: #00448a !important;
  font-size: 22px !important;
  font-weight: 700 !important;
}
body.view-article .sir-ebook-page .product-price-container .base-price.strike {
  display: none !important;
}
body.view-article .sir-ebook-page .product-price-container .tax-text {
  display: none !important;
}
/* Fallback narrow layout only when NOT full SPPB page */
body.view-article .item-page:not(:has(.sp-page-builder)),
body.view-article .com-content-article:not(:has(.sp-page-builder)) {
  max-width: 920px !important;
  margin: 0 auto !important;
  padding: 24px 20px 48px !important;
  float: none !important;
  clear: both !important;
}
body.view-article .article-info,
body.view-article .pagenavigation,
body.view-article .pager,
body.view-article nav.pagenavigation {
  display: none !important;
}
body.view-article .page-header h1,
body.view-article .page-header h2 {
  color: #00448a !important;
  font-size: 32px !important;
  margin: 0 0 16px !important;
  text-align: left !important;
}
body.view-article .com-content-article__body {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
}
body.view-article .j2store-product-images,
body.view-article .j2store-product {
  display: block !important;
  width: 100% !important;
  max-width: 520px !important;
  margin: 20px 0 !important;
  float: none !important;
}
body.view-article .j2store-product-images img,
body.view-article .j2store-mainimage img,
body.view-article .j2store-thumbnail-image img,
body.view-article img.j2store-product-thumb-image-1,
body.view-article img.j2store-img-responsive {
  width: 280px !important;
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
  margin: 0 0 16px !important;
}
body.view-article .product-price-container {
  margin: 12px 0 18px !important;
  font-size: 22px !important;
  color: #00448a !important;
  font-weight: 700 !important;
}
body.view-article .product-price-container .sale-price,
body.view-article .product-price-container .base-price {
  color: #00448a !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}
body.view-article .product-price-container .base-price.strike {
  display: none !important;
}
body.view-article .product-price-container .tax-text {
  display: none !important;
}
body.view-article .j2store-cart-button,
body.view-article .j2store-addtocart-form .btn-primary {
  background: #00448a !important;
  border-color: #00448a !important;
  color: #fff !important;
  padding: 10px 28px !important;
  font-size: 16px !important;
  border-radius: 3px !important;
}
body.view-article .j2store-cart-button:hover,
body.view-article .j2store-addtocart-form .btn-primary:hover {
  background: #f39100 !important;
  border-color: #f39100 !important;
}

/* Form pages (Seminar / Empfehlen) */
body.view-article .sir-legacy-form {
  max-width: 560px !important;
  margin: 12px 0 40px !important;
}
body.view-article .sir-legacy-form .form-control,
body.view-article .sir-legacy-form input,
body.view-article .sir-legacy-form textarea {
  display: block !important;
  width: 100% !important;
  max-width: 420px !important;
  padding: 8px 10px !important;
  border: 1px solid #ccd3db !important;
  border-radius: 3px !important;
  box-sizing: border-box !important;
}
body.view-article .sir-legacy-form .sppb-btn,
body.view-article .sir-legacy-form button[type="submit"] {
  background: #00448a !important;
  border: none !important;
  color: #fff !important;
  padding: 10px 22px !important;
  cursor: pointer !important;
}

/* Hide bxSlider direction buttons — live uses SPPB arrows only */
.bx-controls-direction,
.bx-prev,
.bx-next,
a.bx-prev,
a.bx-next {
  display: none !important;
}

/* Hero "Weiterlesen" CTAs — not shown on live visual hero; remove on staging */
#slider .sppb-btn,
#slider a.sppb-btn,
#slider .sppb-carousel-caption .sppb-btn,
.sp-page-builder #slider .sppb-carousel-content + a.sppb-btn,
.sp-page-builder #slider a.sppb-btn-custom,
.sir-home-page #slider a.sppb-btn,
.sir-ebook-page #slider a.sppb-btn {
  display: none !important;
}

/* English SPPB blocks — original site showed German only */
.lang-en,
.sppb-addon.lang-en {
  display: none !important;
}

/* Mobile offcanvas — Helix hamburger must open this panel */
.offcanvas-overlay {
  position: fixed !important;
  inset: 0 !important;
  background: rgba(0,0,0,0.45) !important;
  z-index: 9998 !important;
  opacity: 0;
  visibility: hidden;
  transition: opacity .35s ease, visibility .35s ease;
}
body.offcanvas .offcanvas-overlay {
  opacity: 1 !important;
  visibility: visible !important;
}
.offcanvas-menu {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  width: 300px !important;
  max-width: 86vw !important;
  height: 100% !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  background: #00448a !important;
  color: #fff !important;
  z-index: 10000 !important;
  visibility: hidden !important;
  transform: translateX(110%) !important;
  transition: transform .35s ease, visibility .35s ease !important;
  -webkit-overflow-scrolling: touch;
}
body.offcanvas .offcanvas-menu {
  visibility: visible !important;
  transform: translateX(0) !important;
}
.offcanvas-menu .nav-child {
  display: none;
}
.offcanvas-menu .offcanvas-menu-toggler:not(.collapsed) + .nav-child {
  display: block;
}
.offcanvas-menu,
.offcanvas-menu .sp-module,
.offcanvas-menu .sp-module-content,
.offcanvas-menu .nav,
.offcanvas-menu .nav li,
.offcanvas-menu .nav a,
.offcanvas-menu .nav-child a,
.offcanvas-menu ul li a,
.offcanvas-menu a {
  color: #ffffff !important;
}
.offcanvas-menu .nav a:hover,
.offcanvas-menu .nav a:focus,
.offcanvas-menu .nav .active > a,
.offcanvas-menu ul li a:hover {
  color: #ffffff !important;
  background: rgba(255,255,255,0.12) !important;
}
.offcanvas-menu .offcanvas-menu-toggler,
.offcanvas-menu .offcanvas-menu-toggler i {
  color: #ffffff !important;
}
.offcanvas-menu .close-offcanvas {
  color: #fff !important;
  border-color: #fff !important;
}
#offcanvas-toggler {
  cursor: pointer;
  z-index: 20;
  position: relative;
}
