.elementor-239008 .elementor-element.elementor-element-21450c40{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-239008 .elementor-element.elementor-element-217c9766{background-color:var( --e-global-color-blocksy_palette_7 );margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 25px) 0px;padding:0px 0px 0px 0px;}@media(max-width:1024px){.elementor-239008 .elementor-element.elementor-element-217c9766{margin:0px 18px calc(var(--kit-widget-spacing, 0px) + 18px) 18px;}}@media(min-width:769px){.elementor-239008 .elementor-element.elementor-element-21450c40{--content-width:1200px;}}@media(max-width:768px){.elementor-239008 .elementor-element.elementor-element-21450c40{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:6px;--padding-right:6px;}.elementor-239008 .elementor-element.elementor-element-217c9766{margin:0px 6px calc(var(--kit-widget-spacing, 0px) + 6px) 6px;}}/* Start custom CSS for text-editor, class: .elementor-element-217c9766 */.lb-sofi-content {
    margin: 22px 0 0;
    padding: 0 14px 28px;
    font-family: "Open Sans", Arial, sans-serif;
    color: #222222;
    background: #ffffff;
  }

  .lb-sofi-content *,
  .lb-sofi-content *::before,
  .lb-sofi-content *::after {
    box-sizing: border-box;
  }

  /*
   * Falls WordPress beim Einfügen automatisch <br>-Tags erzeugt,
   * dürfen diese innerhalb dieses Blocks keinen sichtbaren Umbruch auslösen.
   */
  .lb-sofi-content br {
    display: none !important;
  }

  .lb-sofi-content__inner {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
  }

  .lb-sofi-content__intro {
    position: relative;
    margin: 0 0 16px;
    padding: 25px 16px 18px;
    background: #f4f8f8;
    border: 1px solid #d8e7e7;
    border-radius: 20px;
  }

  .lb-sofi-content__label {
    position: absolute;
    top: 0;
    left: 16px;
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 5px 11px;
    color: #123f42;
    background: #ffffff;
    border: 1px solid #bcd9d9;
    border-radius: 999px;
    box-shadow: 0 3px 10px rgba(18, 63, 66, 0.07);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
    transform: translateY(-50%);
  }

  .lb-sofi-content h2 {
    margin: 0 0 12px;
    color: #123f42;
    font-size: 25px;
    font-weight: 500;
    line-height: 1.25;
  }

  .lb-sofi-content h3 {
    margin: 0 0 8px;
    color: #123f42;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.3;
  }

  .lb-sofi-content p {
    margin: 0 0 13px;
    font-size: 15px;
    line-height: 1.65;
  }

  .lb-sofi-content p:last-child {
    margin-bottom: 0;
  }

  .lb-sofi-content a {
    color: #123f42;
    font-weight: 700;
    text-decoration-color: #fcba12;
    text-decoration-thickness: 2px;
    text-underline-offset: 3px;
  }

  .lb-sofi-content a:hover,
  .lb-sofi-content a:focus {
    color: #0b5558;
  }

  .lb-sofi-content a:focus-visible,
  .lb-sofi-content summary:focus-visible {
    outline: 3px solid #fcba12;
    outline-offset: 3px;
    border-radius: 3px;
  }

  .lb-sofi-content__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    margin: 0 0 16px;
  }

  .lb-sofi-content__card {
    padding: 17px 15px;
    background: #ffffff;
    border: 1px solid #d8e7e7;
    border-radius: 16px;
    box-shadow: 0 4px 14px rgba(18, 63, 66, 0.05);
  }

  .lb-sofi-content__card p {
    margin-bottom: 11px;
  }

  .lb-sofi-content__card-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
  }

  .lb-sofi-content__safety {
    margin: 0 0 16px;
    padding: 18px 16px;
    color: #123f42;
    background: #fffaf0;
    border: 1px solid #f1d78e;
    border-radius: 16px;
  }

  .lb-sofi-content__safety strong {
    font-weight: 700;
  }

  .lb-sofi-content__steps {
    margin: 13px 0 0;
    padding: 0;
    list-style: none;
    counter-reset: sofi-step;
  }

  .lb-sofi-content__steps li {
    position: relative;
    min-height: 34px;
    margin: 0 0 10px;
    padding: 5px 0 0 42px;
    font-size: 15px;
    line-height: 1.55;
    counter-increment: sofi-step;
  }

  .lb-sofi-content__steps li:last-child {
    margin-bottom: 0;
  }

  .lb-sofi-content__steps li::before {
    content: counter(sofi-step);
    position: absolute;
    top: 0;
    left: 0;
    display: grid;
    width: 32px;
    height: 32px;
    place-items: center;
    color: #123f42;
    background: #fcba12;
    border-radius: 50%;
    font-size: 14px;
    font-weight: 700;
  }

  .lb-sofi-content__faq {
    margin: 0;
    padding: 19px 16px 8px;
    background: #f4f8f8;
    border: 1px solid #d8e7e7;
    border-radius: 16px;
  }

  .lb-sofi-content__faq details {
    border-top: 1px solid #d8e7e7;
  }

  .lb-sofi-content__faq details:first-of-type {
    border-top: 0;
  }

  .lb-sofi-content__faq summary {
    position: relative;
    padding: 14px 34px 14px 0;
    color: #123f42;
    cursor: pointer;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.45;
    list-style: none;
  }

  .lb-sofi-content__faq summary::-webkit-details-marker {
    display: none;
  }

  .lb-sofi-content__faq summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 3px;
    font-size: 24px;
    font-weight: 500;
    line-height: 1;
    transform: translateY(-50%);
  }

  .lb-sofi-content__faq details[open] summary::after {
    content: "−";
  }

  .lb-sofi-content__faq details p {
    padding: 0 0 14px;
  }

  .lb-sofi-content__sources {
    margin: 14px 0 0;
    font-size: 13px !important;
    line-height: 1.55 !important;
  }

  @media (min-width: 700px) {
    .lb-sofi-content {
      padding-right: 24px;
      padding-bottom: 36px;
      padding-left: 24px;
    }

    .lb-sofi-content__intro {
      padding: 34px 28px 25px;
      border-radius: 22px;
    }

    .lb-sofi-content__label {
      left: 28px;
      font-size: 13px;
    }

    .lb-sofi-content h2 {
      font-size: 28px;
    }

    .lb-sofi-content h3 {
      font-size: 21px;
    }

    .lb-sofi-content p,
    .lb-sofi-content__steps li {
      font-size: 16px;
    }

    /*
     * Blocksy begrenzt Fließtext in Inhaltsbereichen teilweise global.
     * Diese Regeln halten den Content innerhalb unseres eigenen Layouts.
     */
    .lb-sofi-content p,
    .lb-sofi-content__steps,
    .lb-sofi-content__faq details {
      width: 100%;
      max-width: none !important;
    }

    .lb-sofi-content__grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 14px;
    }

    .lb-sofi-content__card {
      padding: 21px 20px;
    }

    .lb-sofi-content__safety {
      padding: 22px 24px;
    }

    .lb-sofi-content__faq {
      padding: 23px 24px 10px;
    }

    .lb-sofi-content__faq summary {
      font-size: 16px;
    }
  }

  @media (min-width: 960px) {
    .lb-sofi-content__safety {
      padding: 26px 24px 24px;
    }

    .lb-sofi-content__safety > p,
    .lb-sofi-content__faq details p {
      max-width: 940px !important;
    }

    .lb-sofi-content__steps {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      column-gap: 34px;
      row-gap: 8px;
      margin-top: 18px;
      margin-bottom: 16px;
    }

    .lb-sofi-content__steps li {
      margin: 0;
      padding-right: 10px;
    }

    .lb-sofi-content__steps li:last-child {
      grid-column: 1 / -1;
      max-width: calc(50% - 17px);
    }

    .lb-sofi-content__faq {
      padding: 25px 24px 12px;
    }

    .lb-sofi-content__faq details p {
      padding-right: 36px;
      line-height: 1.65;
    }
  }

  /*
   * Nur auf dieser Produktkategorie: zwei Produkte als zentrierte,
   * gleich breite Desktop-Auswahl statt linksbündigem Rest-Raster.
   */
  @media (min-width: 1025px) {
    body.tax-product_cat.term-sonnenfinsternisbrillen
      .woocommerce.columns-2 > ul.products.columns-2,
    body.term-sonnenfinsternisbrillen
      .woocommerce.columns-2 > ul.products.columns-2 {
      width: min(100%, 760px) !important;
      margin-right: auto !important;
      margin-left: auto !important;
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      justify-content: center !important;
      column-gap: 28px !important;
    }
  }

  @media (min-width: 1200px) {
    .lb-sofi-content {
      padding-right: 0;
      padding-left: 0;
    }
  }/* End custom CSS */