/** Shopify CDN: Minification failed

Line 384:2 Unexpected "}"
Line 1316:2 Unexpected "}"

**/
/* SHOPIFY_STYLESHEETS_VERSION: 1.0 */


/* CSS from snippet stylesheet tags */
/* START_SNIPPET:product-bundle (INDEX:154) */
/* .bundler-target-element {height: 0;visibility: hidden;pointer-events: none;} */
  .bundles-section {
    --bundle-radius: 8px;
    --bundle-border: #e5e0da;
    --bundle-bg: #ffffff;
    --bundle-featured-border: #1a1a1a;
    --bundle-title-color: #1a1a1a;
    --bundle-text-color: #000;
    --bundle-check-color: #5a7a5a;
    --bundle-price-color: #474747;
    --bundle-badge-bg: #FFD414;
    --bundle-badge-color: #1a1a1a;
    --bundle-cta-bg: #1a1a1a;
    --bundle-cta-color: #ffffff;
    --bundle-cta-featured-bg: #f0c84b;
    --bundle-cta-featured-color: #1a1a1a;
    --bundle-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
    --bundle-shadow-hover: 0 6px 24px rgba(0, 0, 0, 0.10);
    font-family: inherit;
  }

  /* ---- Hide real bundler widgets ---- */
  .bundle-widgets-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
    clip: rect(0 0 0 0);
  }

  .bundles-wrapper {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }

  /* ---- Card ---- */
  .bundle-card {
    position: relative;
    display: flex;
    gap: 15px;
    background: var(--bundle-bg);
    border: 1.5px solid var(--bundle-border);
    border-radius: var(--bundle-radius);
    padding: 10px;
    box-shadow: var(--bundle-shadow);
    transition: box-shadow 0.22s ease, transform 0.22s ease, border-color 0.15s ease;
    cursor: pointer;
    user-select: none;
  }

  .bundle-card:hover {
    border-color: var(--bundle-featured-border);
    box-shadow: var(--bundle-shadow-hover);
    transform: translateY(-2px);
  }

  .bundle-card:focus-visible {
    outline: 2px solid var(--bundle-featured-border);
    outline-offset: 3px;
  }

  /* ---- Loading overlay ---- */
  .bundle-loader-overlay {
    display: none;
    display: none !important;
    position: absolute;
    inset: 0;
    border-radius: var(--bundle-radius);
    background: rgba(255, 255, 255, 0.75);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    z-index: 20;
    align-items: center;
    justify-content: center;
  }

  .bundle-card--loading {
    pointer-events: none;
  }

  .bundle-card--loading .bundle-loader-overlay {
    display: flex;
  }

  .bundle-loader-svg {
    animation: bundle-spin 0.75s linear infinite;
    filter: drop-shadow(0 1px 3px rgba(0,0,0,0.15));
  }

  @keyframes bundle-spin {
    to { transform: rotate(360deg); }
  }

  /* ---- Badge ---- */
  .bundle-badge {
    position: absolute;
    top: 16px;
    right: 16px;
    display: flex;
    align-items: center;
    gap: 4px;
    background: var(--bundle-badge-bg);
    color: var(--bundle-badge-color);
    font-size: 13px;
    font-weight: 700;
    padding: 5px 10px;
    letter-spacing: 0.01em;
    z-index: 1;
    border-radius: 5px;
    border: 1px solid #000;
    box-shadow: -2px 2px 4px 0 rgba(0, 0, 0, 0.35);
  }

  .bundle-badge__icon {
    font-size: 14px;
  }

  /* ---- Image ---- */
  .bundle-image {
    flex-shrink: 0;
    width: 200px;
    border-radius: 5px;
    overflow: hidden;
    background: #f5f0ea;
  }

  .bundle-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .bundle-image__placeholder {
    width: 100%;
    height: 100%;
  }

  /* ---- Info ---- */
  .bundle-info {
    flex: 1;
    min-width: 0;
  }

  /* ---- Title ---- */
  .bundle-title {
    font-size: 18px;
    font-family: 'Co Headline';
    font-weight: 400;
    color: var(--bundle-title-color);
    margin: 0 0 5px;
  }

  /* ---- Richtext Features ---- */
  .bundle-features-rich {
    color: var(--bundle-text-color);
    font-size: 14px;
    line-height: 1.5;
  }

  .bundle-features-rich p,
  .bundle-features-rich li {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 3px;
    padding: 0;
  }

  .bundle-features-rich p::before,
  .bundle-features-rich li::before {
    content: '';
    display: inline-block;
    flex-shrink: 0;
    width: 10px;
    height: 9px;
    background-image: url("data:image/svg+xml,%3Csvg width='14' height='11' viewBox='0 0 14 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 5.5L5 9.5L13 1.5' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
  }

  .bundle-features-rich ul,
  .bundle-features-rich ol {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  /* ---- Pricing ---- */
  .bundle-pricing__current {
    display: flex;
    align-items: baseline;
    gap: 10px;
    flex-wrap: wrap;
    font-size: 18px;
    font-weight: 800;
    color: var(--bundle-price-color);
    letter-spacing: -0.02em;
    line-height: normal;
  }

  .bundle-pricing__current s {
    color: #474747;
    font-size: 16px;
    font-weight: 500;
  }

  /* ---- CTA ---- */
  .bundle-cta {
    display: inline-block;
    padding: 10px 24px;
    border-radius: 8px;
    background: var(--bundle-cta-bg);
    color: var(--bundle-cta-color);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    letter-spacing: 0.01em;
    pointer-events: none;
    transition: opacity 0.18s ease;
  }

  .bundle-card:hover .bundle-cta {
    opacity: 0.88;
  }

  .bundle-cta--featured {
    background: var(--bundle-cta-featured-bg);
    color: var(--bundle-cta-featured-color);
  }

  .bundle-card--active {
    border-color: var(--bundle-featured-border);
    box-shadow: var(--bundle-shadow-hover);
  }


  .custom-button-bundle {
  width: 100% !important;
  white-space: nowrap !important;
}

  .custom-button-bundle .loader-button__loader {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .custom-button-bundle.loading .loader-button__loader {
    opacity: 1;
    transform: translate(-50%, -50%);
  }

  .custom-button-bundle .icon--spinner {
    animation: bundle-btn-spin 0.8s linear infinite;
  }

  .custom-button-bundle .icon--spinner circle {
    stroke: #ffffff;
    stroke-dasharray: 80;
    stroke-dashoffset: 60;
  }

  @keyframes bundle-btn-spin {
    100% { transform: rotate(360deg); }
  }


  /* For AB Test side by side*/
  @media only screen and (min-width: 200px) and (max-width: 9999px) {

  .bundles-section.bundles-section-new .bundles-wrapper {
    flex-direction: row !important;
    gap: 10px !important;
    align-items: stretch !important;
  }

  .bundles-section.bundles-section-new .bundle-card {
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 10px !important;
    gap: 0 !important;

    background: #ffffff !important;
    border: 1px solid #d2d2d7 !important;
    border-radius: 14px !important;
    box-shadow: none !important;
  }

  .bundles-section.bundles-section-new .bundle-image {
    width: 100% !important;
    height: 150px !important;
    margin-bottom: 12px !important;

    border-radius: 10px !important;
    background-position: center !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
  }

  .bundles-section.bundles-section-new .bundle-info {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
  }

  .bundles-section.bundles-section-new .bundle-title {
    margin: 0 0 10px !important;
    padding-bottom: 9px !important;

    border-bottom: 1px solid #e5e5e7 !important;

    color: #1d1d1f !important;
    font-family: inherit !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;
    letter-spacing: -0.02em !important;
  }

  .bundles-section.bundles-section-new .bundle-features-rich {
    margin: 0 0 12px !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    color: #424245 !important;
  }

  .bundles-section.bundles-section-new .bundle-pricing {
    display: flex !important;
    justify-content: flex-start !important;

    margin-top: auto !important;
    padding-top: 12px !important;

    border-top: 1px solid #e5e5e7 !important;
  }

  .bundles-section.bundles-section-new .bundle-pricing__current {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 3px !important;

    font-size: 22px !important;
    font-weight: 700 !important;
    color: #1d1d1f !important;
  }

  .bundles-section.bundles-section-new .bundle-pricing__current s {
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #86868b !important;
  }

  .bundles-section.bundles-section-new .bundle-badge {
    top: 10px !important;
    right: 10px !important;
    left: auto !important;

    padding: 4px 8px !important;
    min-width: 0 !important;
    min-height: 0 !important;

    border-radius: 8px !important;
    box-shadow: none !important;

    font-size: 11px !important;
  }
}
  }
  @media only screen and (min-width: 200px) and (max-width: 767px) {
    .bundles-section.bundles-section-new .bundles-wrapper {gap: 3px;}
    .bundles-section.bundles-section-new .bundle-card {padding: 5px;}
    .bundles-section.bundles-section-new .bundle-image {min-width: 75px;height: 100px;}
    .bundles-section.bundles-section-new .bundle-title, .bundles-section.bundles-section-new .bundle-pricing__current {font-size: 11px;}
    .bundles-section.bundles-section-new .bundle-features-rich {font-size: 10px;}
    .bundles-section.bundles-section-new .bundle-pricing__current {flex-direction: column;gap: 0;line-height: normal;}
    .bundles-section.bundles-section-new .bundle-pricing__current s {font-size: 11px;}
    .bundles-section.bundles-section-new .bundle-badge {padding: 0px 5px;top: 0px;left: 0px;font-size: 10px;}
  }
  @media only screen and (min-width: 768px) and (max-width: 1199px) {
    .bundles-section.bundles-section-new .bundles-wrapper {gap: 4px;}
    .bundles-section.bundles-section-new .bundle-card {padding: 5px;    gap: 5px;}
    .bundles-section.bundles-section-new .bundle-pricing__current {gap: 5px;}
    .bundles-section.bundles-section-new .bundle-title, .bundles-section.bundles-section-new .bundle-pricing__current {font-size: 13px;}
    .bundles-section.bundles-section-new .bundle-pricing__current {flex-direction: column;gap: 0;line-height: normal;}
    .bundles-section.bundles-section-new .bundle-features-rich {font-size: 12px;}
    .bundles-section.bundles-section-new .bundle-pricing__current s {font-size: 13px;}
  }
  @media only screen and (min-width: 1200px) and (max-width: 1499px) {
    .bundles-section.bundles-section-new .bundle-title {font-size: 16px;}
    .bundles-section.bundles-section-new .bundle-pricing__current {font-size: 16px;}
    .bundles-section.bundles-section-new .bundle-pricing__current {flex-direction: column;gap: 0;line-height: normal;}
  }
  /* End AB Test */


  /* ---- Responsive ---- */
  @media only screen and (min-width: 1000px) and (max-width: 1380px) {
  .bundle-badge {left: 16px;right: auto;}
  }
  @media (max-width: 1199px) {
    .bundle-image { width: 150px; }
    .bundle-title { font-size: 16px; }
    .bundle-pricing__current { font-size: 16px; }
  }

  @media (max-width: 600px) {
    .bundles-wrapper {gap: 10px;}
    .bundle-card {
      /* flex-direction: column;
      align-items: flex-start; */
      gap: 10px;
    }
    /* .bundle-image {
      width: 100%;
      height: 180px;
    } */
    .bundle-image {width: 120px;}
    .bundle-badge {
      top: 12px;
      left: 12px;
      right: auto;
      font-size: 11px;
      padding: 0px 4px;
      min-width: 50px;
      min-height: 26px;
      justify-content: center;
    }
    .bundle-title, .bundle-pricing__current {font-size: 14px;}
    .bundle-features-rich {font-size: 12px;}
  }
  /* =========================================================
   WHIPL BUNDLES – CLEAN FINAL
   ========================================================= */

   /* ---------- ÜBERSCHRIFT SET-AUSWAHL ---------- */

.bundles-section.bundles-section-new .bundle-section-heading {
  margin: 0 0 16px !important;
  padding: 0 !important;

  color: #1d1d1f !important;

  font-family: inherit !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.025em !important;
}
/* ---------- GRUNDLAYOUT ---------- */

.bundles-section.bundles-section-new .bundles-wrapper {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  gap: 10px !important;
}

.bundles-section.bundles-section-new .bundle-card {
  position: relative !important;
  isolation: isolate !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 0 !important;
  min-width: 0 !important;

  padding: 10px !important;
  gap: 0 !important;

  background: #ffffff !important;
  border: 1px solid #d9d9de !important;
  border-radius: 14px !important;
  box-shadow: none !important;

  overflow: hidden !important;
  transform: none !important;
}

.bundles-section.bundles-section-new .bundle-card:hover {
  transform: none !important;
  box-shadow: none !important;
}


/* ---------- AUSGEWÄHLTES SET ---------- */

.bundles-section.bundles-section-new .bundle-card--active {
  border-color: #1d1d1f !important;
  box-shadow: 0 0 0 1px #1d1d1f !important;
}

.bundles-section.bundles-section-new
.bundle-card.bundle-card--active::after {
  content: "✓" !important;

  position: absolute !important;
  right: 10px !important;
  bottom: 10px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 21px !important;
  height: 21px !important;

  background: #1d1d1f !important;
  color: #ffffff !important;

  border-radius: 50% !important;

  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1 !important;

  z-index: 5 !important;
  pointer-events: none !important;
}


/* ---------- BILD ---------- */

.bundles-section.bundles-section-new .bundle-image {
  width: 100% !important;
  height: 150px !important;
  min-width: 0 !important;

  margin: 0 0 10px !important;

  background-size: contain !important;
  background-position: center !important;
  background-repeat: no-repeat !important;

  border-radius: 9px !important;
}


/* ---------- INFO ---------- */

.bundles-section.bundles-section-new .bundle-info {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}


/* ---------- TITEL ---------- */

.bundles-section.bundles-section-new .bundle-title {
  margin: 0 !important;
  padding: 0 0 9px !important;

  border-bottom: 1px solid #e5e5e7 !important;

  color: #1d1d1f !important;

  font-family: inherit !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em !important;
}


/* ---------- DESKTOP FEATURES ---------- */

.bundle-features-mobile {
  display: none !important;
}

.bundle-features-desktop {
  display: block !important;
}

.bundles-section.bundles-section-new .bundle-features-rich {
  margin: 9px 0 12px !important;

  color: #424245 !important;

  font-size: 13px !important;
  line-height: 1.35 !important;
}

.bundles-section.bundles-section-new .bundle-features-rich ul,
.bundles-section.bundles-section-new .bundle-features-rich ol {
  margin: 0 !important;
  padding: 0 !important;
}

.bundles-section.bundles-section-new .bundle-features-rich li,
.bundles-section.bundles-section-new .bundle-features-rich p {
  margin: 0 0 4px !important;
}


/* ---------- PREIS ---------- */

.bundles-section.bundles-section-new .bundle-pricing {
  display: flex !important;

  margin-top: auto !important;
  padding-top: 10px !important;

  border-top: 1px solid #e5e5e7 !important;
}

.bundles-section.bundles-section-new .bundle-pricing__current {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;

  gap: 2px !important;

  color: #1d1d1f !important;

  font-size: 21px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: -0.03em !important;
}

.bundles-section.bundles-section-new .bundle-pricing__current s {
  color: #8a8a8f !important;

  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
}


/* ---------- PREMIUM SAVE BADGE ---------- */

.bundles-section.bundles-section-new .bundle-badge {
  position: absolute !important;

  top: 9px !important;
  right: 9px !important;
  left: auto !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-width: 0 !important;
  min-height: 0 !important;

  padding: 6px 10px !important;

  background: #111111 !important;
  color: #ffffff !important;

  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 999px !important;

  box-shadow: 0 4px 12px rgba(0,0,0,.10) !important;

  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 1 !important;

  z-index: 1 !important;
}

.bundles-section.bundles-section-new .bundle-badge__label {
  color: #ffffff !important;
}

.bundles-section.bundles-section-new .bundle-badge__icon {
  display: none !important;
}


/* ---------- IN ALLEN SETS ---------- */

.bundle-common-features {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: nowrap !important;

  gap: 7px !important;

  width: 100% !important;

  margin-top: 10px !important;
  padding: 9px 10px !important;

  background: #f7f7f8 !important;

  border: 1px solid #e5e5e7 !important;
  border-radius: 11px !important;

  color: #55555a !important;

  font-size: 12px !important;
  line-height: 1 !important;

  white-space: nowrap !important;
}

.bundle-common-features strong {
  color: #1d1d1f !important;
  font-weight: 600 !important;
}

.bundle-common-check {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 18px !important;
  height: 18px !important;
  flex: 0 0 18px !important;

  background: #1d1d1f !important;
  color: #ffffff !important;

  border-radius: 50% !important;

  font-size: 10px !important;
  font-weight: 700 !important;
}

.bundle-common-divider {
  color: #b2b2b7 !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 767px) {

  /* 3 Karten bleiben nebeneinander */
  .bundles-section.bundles-section-new .bundles-wrapper {
    gap: 6px !important;
    align-items: stretch !important;
  }

  .bundles-section.bundles-section-new .bundle-card {
    width: 100% !important;
    min-width: 0 !important;

    padding: 6px !important;

    border-radius: 12px !important;
  }


  /* Bild kompakt */
  .bundles-section.bundles-section-new .bundle-image {
    height: 96px !important;
    margin-bottom: 6px !important;

    border-radius: 8px !important;
  }


  /* Info füllt Karte – Preise dadurch gleich hoch */
  .bundles-section.bundles-section-new .bundle-info {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
  }


  /* Titel NICHT kleiner als aktuell */
  .bundles-section.bundles-section-new .bundle-title {
    min-height: 32px !important;

    margin: 0 !important;
    padding: 0 0 6px !important;

    font-size: 11px !important;
    line-height: 1.15 !important;

    border-bottom: 1px solid #e5e5e7 !important;
  }


  /* Desktop-Bullets Mobile aus */
  .bundles-section.bundles-section-new .bundle-features-desktop {
    display: none !important;
  }


  /* Mobile-Bullets vollständig sichtbar */
  .bundles-section.bundles-section-new .bundle-features-mobile {
    display: block !important;

    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    margin: 7px 0 6px !important;
    padding: 0 !important;

    overflow: visible !important;

    color: #55555a !important;

    font-size: 9px !important;
    line-height: 1.16 !important;
  }

  .bundles-section.bundles-section-new .bundle-features-mobile ul,
  .bundles-section.bundles-section-new .bundle-features-mobile ol {
    margin: 0 !important;
    padding: 0 !important;
  }

  .bundles-section.bundles-section-new .bundle-features-mobile li,
  .bundles-section.bundles-section-new .bundle-features-mobile p {
    display: flex !important;
    align-items: flex-start !important;

    gap: 4px !important;

    margin: 0 0 2px !important;
    padding: 0 !important;
  }


  /* Gleicher ✓ Haken wie Desktop vor jedem Bulletpoint */
  .bundles-section.bundles-section-new
  .bundle-features-mobile li::before,
  .bundles-section.bundles-section-new
  .bundle-features-mobile p::before {
    content: "" !important;

    display: inline-block !important;
    flex: 0 0 9px !important;

    width: 9px !important;
    height: 9px !important;

    margin-top: 1px !important;

    background-image: url("data:image/svg+xml,%3Csvg width='14' height='11' viewBox='0 0 14 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 5.5L5 9.5L13 1.5' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;

    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
  }


  /* Preis bei allen drei Karten auf gleicher Höhe */
  .bundles-section.bundles-section-new .bundle-pricing {
    margin-top: auto !important;

    padding-top: 7px !important;

    border-top: 1px solid #e5e5e7 !important;
  }

  .bundles-section.bundles-section-new .bundle-pricing__current {
    gap: 1px !important;

    font-size: 14.5px !important;
    line-height: 1 !important;

    white-space: nowrap !important;
  }

  .bundles-section.bundles-section-new .bundle-pricing__current s {
    font-size: 8.5px !important;
  }


  /* Save Badge Mobile */
  .bundles-section.bundles-section-new .bundle-badge {
    top: 7px !important;
    right: 7px !important;

    padding: 4px 7px !important;

    font-size: 8.5px !important;
  }


  /* Kleiner Auswahl-Haken unten rechts */
  .bundles-section.bundles-section-new
  .bundle-card.bundle-card--active::after {
    right: 7px !important;
    bottom: 7px !important;

    width: 15px !important;
    height: 15px !important;

    font-size: 8px !important;
  }


  /* In allen Sets kompakt auf einer Zeile */
  .bundle-common-features {
    flex-wrap: nowrap !important;

    gap: 3px !important;

    margin-top: 7px !important;
    padding: 7px 5px !important;

    border-radius: 10px !important;

    font-size: clamp(7.4px, 2.15vw, 9px) !important;
    line-height: 1 !important;

    white-space: nowrap !important;
    overflow: hidden !important;
  }

  .bundle-common-check {
    width: 14px !important;
    height: 14px !important;
    flex: 0 0 14px !important;

    font-size: 8px !important;
  }

  .bundle-common-divider {
    margin: 0 1px !important;
  }
}
/* END_SNIPPET:product-bundle */

/* START_SNIPPET:product-bundle_2 (INDEX:155) */
/* .bundler-target-element {height: 0;visibility: hidden;pointer-events: none;} */
  .bundles-section {
    --bundle-radius: 8px;
    --bundle-border: #e5e0da;
    --bundle-bg: #ffffff;
    --bundle-featured-border: #1a1a1a;
    --bundle-title-color: #1a1a1a;
    --bundle-text-color: #000;
    --bundle-check-color: #5a7a5a;
    --bundle-price-color: #474747;
    --bundle-badge-bg: #FFD414;
    --bundle-badge-color: #1a1a1a;
    --bundle-cta-bg: #1a1a1a;
    --bundle-cta-color: #ffffff;
    --bundle-cta-featured-bg: #f0c84b;
    --bundle-cta-featured-color: #1a1a1a;
    --bundle-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
    --bundle-shadow-hover: 0 6px 24px rgba(0, 0, 0, 0.10);
    font-family: inherit;
  }

  /* ---- Hide real bundler widgets ---- */
  .bundle-widgets-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
    clip: rect(0 0 0 0);
  }

  .bundles-wrapper {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }

  /* ---- Card ---- */
  .bundle-card {
    position: relative;
    display: flex;
    gap: 15px;
    background: var(--bundle-bg);
    border: 1.5px solid var(--bundle-border);
    border-radius: var(--bundle-radius);
    padding: 10px;
    box-shadow: var(--bundle-shadow);
    transition: box-shadow 0.22s ease, transform 0.22s ease, border-color 0.15s ease;
    cursor: pointer;
    user-select: none;
  }

  .bundle-card:hover {
    border-color: var(--bundle-featured-border);
    box-shadow: var(--bundle-shadow-hover);
    transform: translateY(-2px);
  }

  .bundle-card:focus-visible {
    outline: 2px solid var(--bundle-featured-border);
    outline-offset: 3px;
  }

  /* ---- Loading overlay ---- */
  .bundle-loader-overlay {
    display: none;
    display: none !important;
    position: absolute;
    inset: 0;
    border-radius: var(--bundle-radius);
    background: rgba(255, 255, 255, 0.75);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    z-index: 20;
    align-items: center;
    justify-content: center;
  }

  .bundle-card--loading {
    pointer-events: none;
  }

  .bundle-card--loading .bundle-loader-overlay {
    display: flex;
  }

  .bundle-loader-svg {
    animation: bundle-spin 0.75s linear infinite;
    filter: drop-shadow(0 1px 3px rgba(0,0,0,0.15));
  }

  @keyframes bundle-spin {
    to { transform: rotate(360deg); }
  }

  /* ---- Badge ---- */
  .bundle-badge {
    position: absolute;
    top: 16px;
    right: 16px;
    display: flex;
    align-items: center;
    gap: 4px;
    background: var(--bundle-badge-bg);
    color: var(--bundle-badge-color);
    font-size: 13px;
    font-weight: 700;
    padding: 5px 10px;
    letter-spacing: 0.01em;
    z-index: 1;
    border-radius: 5px;
    border: 1px solid #000;
    box-shadow: -2px 2px 4px 0 rgba(0, 0, 0, 0.35);
  }

  .bundle-badge__icon {
    font-size: 14px;
  }

  /* ---- Image ---- */
  .bundle-image {
    flex-shrink: 0;
    width: 200px;
    border-radius: 5px;
    overflow: hidden;
    background: #f5f0ea;
  }

  .bundle-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .bundle-image__placeholder {
    width: 100%;
    height: 100%;
  }

  /* ---- Info ---- */
  .bundle-info {
    flex: 1;
    min-width: 0;
  }

  /* ---- Title ---- */
  .bundle-title {
    font-size: 18px;
    font-family: 'Co Headline';
    font-weight: 400;
    color: var(--bundle-title-color);
    margin: 0 0 5px;
  }

  /* ---- Richtext Features ---- */
  .bundle-features-rich {
    color: var(--bundle-text-color);
    font-size: 14px;
    line-height: 1.5;
  }

  .bundle-features-rich p,
  .bundle-features-rich li {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 3px;
    padding: 0;
  }

  .bundle-features-rich p::before,
  .bundle-features-rich li::before {
    content: '';
    display: inline-block;
    flex-shrink: 0;
    width: 10px;
    height: 9px;
    background-image: url("data:image/svg+xml,%3Csvg width='14' height='11' viewBox='0 0 14 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 5.5L5 9.5L13 1.5' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
  }

  .bundle-features-rich ul,
  .bundle-features-rich ol {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  /* ---- Pricing ---- */
  .bundle-pricing__current {
    display: flex;
    align-items: baseline;
    gap: 10px;
    flex-wrap: wrap;
    font-size: 18px;
    font-weight: 800;
    color: var(--bundle-price-color);
    letter-spacing: -0.02em;
    line-height: normal;
  }

  .bundle-pricing__current s {
    color: #474747;
    font-size: 16px;
    font-weight: 500;
  }

  /* ---- CTA ---- */
  .bundle-cta {
    display: inline-block;
    padding: 10px 24px;
    border-radius: 8px;
    background: var(--bundle-cta-bg);
    color: var(--bundle-cta-color);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    letter-spacing: 0.01em;
    pointer-events: none;
    transition: opacity 0.18s ease;
  }

  .bundle-card:hover .bundle-cta {
    opacity: 0.88;
  }

  .bundle-cta--featured {
    background: var(--bundle-cta-featured-bg);
    color: var(--bundle-cta-featured-color);
  }

  .bundle-card--active {
    border-color: var(--bundle-featured-border);
    box-shadow: var(--bundle-shadow-hover);
  }


  .custom-button-bundle {
  width: 100% !important;
  white-space: nowrap !important;
}

  .custom-button-bundle .loader-button__loader {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .custom-button-bundle.loading .loader-button__loader {
    opacity: 1;
    transform: translate(-50%, -50%);
  }

  .custom-button-bundle .icon--spinner {
    animation: bundle-btn-spin 0.8s linear infinite;
  }

  .custom-button-bundle .icon--spinner circle {
    stroke: #ffffff;
    stroke-dasharray: 80;
    stroke-dashoffset: 60;
  }

  @keyframes bundle-btn-spin {
    100% { transform: rotate(360deg); }
  }


  /* For AB Test side by side*/
  @media only screen and (min-width: 200px) and (max-width: 9999px) {

  .bundles-section.bundles-section-new .bundles-wrapper {
    flex-direction: row !important;
    gap: 10px !important;
    align-items: stretch !important;
  }

  .bundles-section.bundles-section-new .bundle-card {
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 10px !important;
    gap: 0 !important;

    background: #ffffff !important;
    border: 1px solid #d2d2d7 !important;
    border-radius: 14px !important;
    box-shadow: none !important;
  }

  .bundles-section.bundles-section-new .bundle-image {
    width: 100% !important;
    height: 150px !important;
    margin-bottom: 12px !important;

    border-radius: 10px !important;
    background-position: center !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
  }

  .bundles-section.bundles-section-new .bundle-info {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
  }

  .bundles-section.bundles-section-new .bundle-title {
    margin: 0 0 10px !important;
    padding-bottom: 9px !important;

    border-bottom: 1px solid #e5e5e7 !important;

    color: #1d1d1f !important;
    font-family: inherit !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;
    letter-spacing: -0.02em !important;
  }

  .bundles-section.bundles-section-new .bundle-features-rich {
    margin: 0 0 12px !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    color: #424245 !important;
  }

  .bundles-section.bundles-section-new .bundle-pricing {
    display: flex !important;
    justify-content: flex-start !important;

    margin-top: auto !important;
    padding-top: 12px !important;

    border-top: 1px solid #e5e5e7 !important;
  }

  .bundles-section.bundles-section-new .bundle-pricing__current {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 3px !important;

    font-size: 22px !important;
    font-weight: 700 !important;
    color: #1d1d1f !important;
  }

  .bundles-section.bundles-section-new .bundle-pricing__current s {
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #86868b !important;
  }

  .bundles-section.bundles-section-new .bundle-badge {
    top: 10px !important;
    right: 10px !important;
    left: auto !important;

    padding: 4px 8px !important;
    min-width: 0 !important;
    min-height: 0 !important;

    border-radius: 8px !important;
    box-shadow: none !important;

    font-size: 11px !important;
  }
}
  }
  @media only screen and (min-width: 200px) and (max-width: 767px) {
    .bundles-section.bundles-section-new .bundles-wrapper {gap: 3px;}
    .bundles-section.bundles-section-new .bundle-card {padding: 5px;}
    .bundles-section.bundles-section-new .bundle-image {min-width: 75px;height: 100px;}
    .bundles-section.bundles-section-new .bundle-title, .bundles-section.bundles-section-new .bundle-pricing__current {font-size: 11px;}
    .bundles-section.bundles-section-new .bundle-features-rich {font-size: 10px;}
    .bundles-section.bundles-section-new .bundle-pricing__current {flex-direction: column;gap: 0;line-height: normal;}
    .bundles-section.bundles-section-new .bundle-pricing__current s {font-size: 11px;}
    .bundles-section.bundles-section-new .bundle-badge {padding: 0px 5px;top: 0px;left: 0px;font-size: 10px;}
  }
  @media only screen and (min-width: 768px) and (max-width: 1199px) {
    .bundles-section.bundles-section-new .bundles-wrapper {gap: 4px;}
    .bundles-section.bundles-section-new .bundle-card {padding: 5px;    gap: 5px;}
    .bundles-section.bundles-section-new .bundle-pricing__current {gap: 5px;}
    .bundles-section.bundles-section-new .bundle-title, .bundles-section.bundles-section-new .bundle-pricing__current {font-size: 13px;}
    .bundles-section.bundles-section-new .bundle-pricing__current {flex-direction: column;gap: 0;line-height: normal;}
    .bundles-section.bundles-section-new .bundle-features-rich {font-size: 12px;}
    .bundles-section.bundles-section-new .bundle-pricing__current s {font-size: 13px;}
  }
  @media only screen and (min-width: 1200px) and (max-width: 1499px) {
    .bundles-section.bundles-section-new .bundle-title {font-size: 16px;}
    .bundles-section.bundles-section-new .bundle-pricing__current {font-size: 16px;}
    .bundles-section.bundles-section-new .bundle-pricing__current {flex-direction: column;gap: 0;line-height: normal;}
  }
  /* End AB Test */


  /* ---- Responsive ---- */
  @media only screen and (min-width: 1000px) and (max-width: 1380px) {
  .bundle-badge {left: 16px;right: auto;}
  }
  @media (max-width: 1199px) {
    .bundle-image { width: 150px; }
    .bundle-title { font-size: 16px; }
    .bundle-pricing__current { font-size: 16px; }
  }

  @media (max-width: 600px) {
    .bundles-wrapper {gap: 10px;}
    .bundle-card {
      /* flex-direction: column;
      align-items: flex-start; */
      gap: 10px;
    }
    /* .bundle-image {
      width: 100%;
      height: 180px;
    } */
    .bundle-image {width: 120px;}
    .bundle-badge {
      top: 12px;
      left: 12px;
      right: auto;
      font-size: 11px;
      padding: 0px 4px;
      min-width: 50px;
      min-height: 26px;
      justify-content: center;
    }
    .bundle-title, .bundle-pricing__current {font-size: 14px;}
    .bundle-features-rich {font-size: 12px;}
  }
  /* =========================================================
   WHIPL BUNDLES – CLEAN FINAL
   ========================================================= */

   /* ---------- ÜBERSCHRIFT SET-AUSWAHL ---------- */

.bundles-section.bundles-section-new .bundle-section-heading {
  margin: 0 0 16px !important;
  padding: 0 !important;

  color: #1d1d1f !important;

  font-family: inherit !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.025em !important;
}
/* ---------- GRUNDLAYOUT ---------- */

.bundles-section.bundles-section-new .bundles-wrapper {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  gap: 10px !important;
}

.bundles-section.bundles-section-new .bundle-card {
  position: relative !important;
  isolation: isolate !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 0 !important;
  min-width: 0 !important;

  padding: 10px !important;
  gap: 0 !important;

  background: #ffffff !important;
  border: 1px solid #d9d9de !important;
  border-radius: 14px !important;
  box-shadow: none !important;

  overflow: hidden !important;
  transform: none !important;
}

.bundles-section.bundles-section-new .bundle-card:hover {
  transform: none !important;
  box-shadow: none !important;
}


/* ---------- AUSGEWÄHLTES SET ---------- */

.bundles-section.bundles-section-new .bundle-card--active {
  border-color: #1d1d1f !important;
  box-shadow: 0 0 0 1px #1d1d1f !important;
}

.bundles-section.bundles-section-new
.bundle-card.bundle-card--active::after {
  content: "✓" !important;

  position: absolute !important;
  right: 10px !important;
  bottom: 10px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 21px !important;
  height: 21px !important;

  background: #1d1d1f !important;
  color: #ffffff !important;

  border-radius: 50% !important;

  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1 !important;

  z-index: 5 !important;
  pointer-events: none !important;
}


/* ---------- BILD ---------- */

.bundles-section.bundles-section-new .bundle-image {
  width: 100% !important;
  height: 150px !important;
  min-width: 0 !important;

  margin: 0 0 10px !important;

  background-size: contain !important;
  background-position: center !important;
  background-repeat: no-repeat !important;

  border-radius: 9px !important;
}


/* ---------- INFO ---------- */

.bundles-section.bundles-section-new .bundle-info {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}


/* ---------- TITEL ---------- */

.bundles-section.bundles-section-new .bundle-title {
  margin: 0 !important;
  padding: 0 0 9px !important;

  border-bottom: 1px solid #e5e5e7 !important;

  color: #1d1d1f !important;

  font-family: inherit !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em !important;
}


/* ---------- DESKTOP FEATURES ---------- */

.bundle-features-mobile {
  display: none !important;
}

.bundle-features-desktop {
  display: block !important;
}

.bundles-section.bundles-section-new .bundle-features-rich {
  margin: 9px 0 12px !important;

  color: #424245 !important;

  font-size: 13px !important;
  line-height: 1.35 !important;
}

.bundles-section.bundles-section-new .bundle-features-rich ul,
.bundles-section.bundles-section-new .bundle-features-rich ol {
  margin: 0 !important;
  padding: 0 !important;
}

.bundles-section.bundles-section-new .bundle-features-rich li,
.bundles-section.bundles-section-new .bundle-features-rich p {
  margin: 0 0 4px !important;
}


/* ---------- PREIS ---------- */

.bundles-section.bundles-section-new .bundle-pricing {
  display: flex !important;

  margin-top: auto !important;
  padding-top: 10px !important;

  border-top: 1px solid #e5e5e7 !important;
}

.bundles-section.bundles-section-new .bundle-pricing__current {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;

  gap: 2px !important;

  color: #1d1d1f !important;

  font-size: 21px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: -0.03em !important;
}

.bundles-section.bundles-section-new .bundle-pricing__current s {
  color: #8a8a8f !important;

  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
}


/* ---------- PREMIUM SAVE BADGE ---------- */

.bundles-section.bundles-section-new .bundle-badge {
  position: absolute !important;

  top: 9px !important;
  right: 9px !important;
  left: auto !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-width: 0 !important;
  min-height: 0 !important;

  padding: 6px 10px !important;

  background: #111111 !important;
  color: #ffffff !important;

  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 999px !important;

  box-shadow: 0 4px 12px rgba(0,0,0,.10) !important;

  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 1 !important;

  z-index: 1 !important;
}

.bundles-section.bundles-section-new .bundle-badge__label {
  color: #ffffff !important;
}

.bundles-section.bundles-section-new .bundle-badge__icon {
  display: none !important;
}


/* ---------- IN ALLEN SETS ---------- */

.bundle-common-features {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: nowrap !important;

  gap: 7px !important;

  width: 100% !important;

  margin-top: 10px !important;
  padding: 9px 10px !important;

  background: #f7f7f8 !important;

  border: 1px solid #e5e5e7 !important;
  border-radius: 11px !important;

  color: #55555a !important;

  font-size: 12px !important;
  line-height: 1 !important;

  white-space: nowrap !important;
}

.bundle-common-features strong {
  color: #1d1d1f !important;
  font-weight: 600 !important;
}

.bundle-common-check {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 18px !important;
  height: 18px !important;
  flex: 0 0 18px !important;

  background: #1d1d1f !important;
  color: #ffffff !important;

  border-radius: 50% !important;

  font-size: 10px !important;
  font-weight: 700 !important;
}

.bundle-common-divider {
  color: #b2b2b7 !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 767px) {

  /* 3 Karten bleiben nebeneinander */
  .bundles-section.bundles-section-new .bundles-wrapper {
    gap: 6px !important;
    align-items: stretch !important;
  }

  .bundles-section.bundles-section-new .bundle-card {
    width: 100% !important;
    min-width: 0 !important;

    padding: 6px !important;

    border-radius: 12px !important;
  }


  /* Bild kompakt */
  .bundles-section.bundles-section-new .bundle-image {
    height: 96px !important;
    margin-bottom: 6px !important;

    border-radius: 8px !important;
  }


  /* Info füllt Karte – Preise dadurch gleich hoch */
  .bundles-section.bundles-section-new .bundle-info {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
  }


  /* Titel NICHT kleiner als aktuell */
  .bundles-section.bundles-section-new .bundle-title {
    min-height: 32px !important;

    margin: 0 !important;
    padding: 0 0 6px !important;

    font-size: 11px !important;
    line-height: 1.15 !important;

    border-bottom: 1px solid #e5e5e7 !important;
  }


  /* Desktop-Bullets Mobile aus */
  .bundles-section.bundles-section-new .bundle-features-desktop {
    display: none !important;
  }


  /* Mobile-Bullets vollständig sichtbar */
  .bundles-section.bundles-section-new .bundle-features-mobile {
    display: block !important;

    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    margin: 7px 0 6px !important;
    padding: 0 !important;

    overflow: visible !important;

    color: #55555a !important;

    font-size: 9px !important;
    line-height: 1.16 !important;
  }

  .bundles-section.bundles-section-new .bundle-features-mobile ul,
  .bundles-section.bundles-section-new .bundle-features-mobile ol {
    margin: 0 !important;
    padding: 0 !important;
  }

  .bundles-section.bundles-section-new .bundle-features-mobile li,
  .bundles-section.bundles-section-new .bundle-features-mobile p {
    display: flex !important;
    align-items: flex-start !important;

    gap: 4px !important;

    margin: 0 0 2px !important;
    padding: 0 !important;
  }


  /* Gleicher ✓ Haken wie Desktop vor jedem Bulletpoint */
  .bundles-section.bundles-section-new
  .bundle-features-mobile li::before,
  .bundles-section.bundles-section-new
  .bundle-features-mobile p::before {
    content: "" !important;

    display: inline-block !important;
    flex: 0 0 9px !important;

    width: 9px !important;
    height: 9px !important;

    margin-top: 1px !important;

    background-image: url("data:image/svg+xml,%3Csvg width='14' height='11' viewBox='0 0 14 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 5.5L5 9.5L13 1.5' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;

    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
  }


  /* Preis bei allen drei Karten auf gleicher Höhe */
  .bundles-section.bundles-section-new .bundle-pricing {
    margin-top: auto !important;

    padding-top: 7px !important;

    border-top: 1px solid #e5e5e7 !important;
  }

  .bundles-section.bundles-section-new .bundle-pricing__current {
    gap: 1px !important;

    font-size: 14.5px !important;
    line-height: 1 !important;

    white-space: nowrap !important;
  }

  .bundles-section.bundles-section-new .bundle-pricing__current s {
    font-size: 8.5px !important;
  }


  /* Save Badge Mobile */
  .bundles-section.bundles-section-new .bundle-badge {
    top: 7px !important;
    right: 7px !important;

    padding: 4px 7px !important;

    font-size: 8.5px !important;
  }


  /* Kleiner Auswahl-Haken unten rechts */
  .bundles-section.bundles-section-new
  .bundle-card.bundle-card--active::after {
    right: 7px !important;
    bottom: 7px !important;

    width: 15px !important;
    height: 15px !important;

    font-size: 8px !important;
  }


  /* In allen Sets kompakt auf einer Zeile */
  .bundle-common-features {
    flex-wrap: nowrap !important;

    gap: 3px !important;

    margin-top: 7px !important;
    padding: 7px 5px !important;

    border-radius: 10px !important;

    font-size: clamp(7.4px, 2.15vw, 9px) !important;
    line-height: 1 !important;

    white-space: nowrap !important;
    overflow: hidden !important;
  }

  .bundle-common-check {
    width: 14px !important;
    height: 14px !important;
    flex: 0 0 14px !important;

    font-size: 8px !important;
  }

  .bundle-common-divider {
    margin: 0 1px !important;
  }
}
/* END_SNIPPET:product-bundle_2 */

/* START_SNIPPET:whipl-bundle-duo (INDEX:171) */
whipl-duo-offers {
  display: block;
  margin: var(--duo-margin-top, 0px) 0 var(--duo-margin-bottom, 0px);
  color: var(--duo-text);
  font-family: inherit;
  --duo-current-gap: var(--duo-gap);
  --duo-current-padding: var(--duo-padding);
  --duo-current-radius: var(--duo-radius);
  --duo-current-image: var(--duo-card-image-height);
  --duo-current-title: var(--duo-card-title-size);
  --duo-current-feature: var(--duo-feature-size);
  --duo-current-price: var(--duo-card-price-size);
  --duo-detail-padding: var(--duo-details-padding);
  --current-duo-details-title-size: var(--duo-details-title-size);
  --current-duo-device-title-size: var(--duo-device-title-size);
  --current-duo-description-size: var(--duo-description-size);
  --current-duo-device-price-size: var(--duo-device-price-size);
  --current-duo-total-size: var(--duo-total-size);
  --current-duo-saving-size: var(--duo-saving-size);
  --current-duo-plus-size: var(--duo-plus-size);
  --current-duo-left-height: var(--duo-left-height);
}

whipl-duo-offers *, whipl-duo-offers *::before, whipl-duo-offers *::after { box-sizing: border-box; }
whipl-duo-offers.bundles-section.bundles-section-new [hidden], whipl-duo-offers[hidden] { display: none !important; }
whipl-duo-offers .wduo-heading { margin: 0 0 14px; font: inherit; font-weight: 700; font-size: var(--duo-heading-size); color: var(--duo-heading-color); }
whipl-duo-offers .wduo-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--duo-current-gap); align-items: stretch; }

whipl-duo-offers .wduo-card { position: relative; display: flex; flex-direction: column; flex: 1 1 0; min-width: 0; padding: var(--duo-current-padding); border: var(--duo-border-width) solid var(--duo-border); border-radius: var(--duo-current-radius); background: var(--duo-bg); color: var(--duo-text); cursor: pointer; outline-offset: 3px; box-shadow: none; transition: background .15s ease, border-color .15s ease; }
whipl-duo-offers .wduo-card.is-selected { border-color: var(--duo-selected-border); background: var(--duo-selected-bg); border-width: var(--duo-selected-width); padding: calc(var(--duo-current-padding) + var(--duo-border-width) - var(--duo-selected-width)); }
whipl-duo-offers .wduo-card:focus-visible, whipl-duo-offers button:focus-visible { outline: 2px solid var(--duo-selected-border); }
whipl-duo-offers [data-offer].is-unavailable { cursor: default; opacity: .55; }
whipl-duo-offers[data-busy="true"] [data-offer] { pointer-events: none; }

whipl-duo-offers .wduo-card-image { width: 100%; height: var(--duo-current-image); object-fit: var(--duo-card-fit); object-position: center; display: block; margin: 0 0 10px; border-radius: calc(var(--duo-current-radius) / 2); }
whipl-duo-offers .wduo-card-image[hidden] { min-height: var(--duo-current-image); }
whipl-duo-offers .wduo-card-content { display: flex; flex: 1; flex-direction: column; min-width: 0; }
whipl-duo-offers .wduo-card-title { margin: 0; padding: 0 0 10px; color: var(--duo-heading-color); font: inherit; font-size: var(--duo-current-title); font-weight: 600; line-height: 1.2; overflow-wrap: anywhere; }
whipl-duo-offers .wduo-card-subtitle { margin: 0 0 8px; font-size: var(--duo-current-feature); line-height: 1.3; }

whipl-duo-offers .wduo-features { border-top: 1px solid var(--duo-border); padding-top: 10px; margin: 0 0 14px; font-size: var(--duo-current-feature); line-height: 1.4; }
whipl-duo-offers .wduo-features ul, whipl-duo-offers .wduo-features ol { margin: 0; padding: 0; list-style: none; }
whipl-duo-offers .wduo-features li { display: flex; align-items: flex-start; gap: 6px; padding: 0; margin: 0 0 3px; }
whipl-duo-offers .wduo-features li::before { content: "✓"; flex: 0 0 1em; font-weight: 700; color: var(--duo-heading-color); }
whipl-duo-offers .wduo-features li:has(strong, b)::before { content: "+"; }
whipl-duo-offers .wduo-features p { margin: 0; }
whipl-duo-offers .wduo-mobile-features { display: none; }

whipl-duo-offers .wduo-price-box { margin-top: auto; padding-top: 12px; border-top: 1px solid var(--duo-border); display: flex; flex-direction: column; align-items: flex-start; gap: 3px; }
whipl-duo-offers .wduo-price { font-size: var(--duo-current-price); line-height: 1.05; font-weight: 700; letter-spacing: -.03em; color: var(--duo-price-color); white-space: nowrap; font-variant-numeric: tabular-nums; }
whipl-duo-offers .wduo-compare { font-size: max(9px, calc(var(--duo-current-price) * .56)); line-height: 1.1; color: var(--duo-compare-color); font-weight: 400; white-space: nowrap; }
whipl-duo-offers .wduo-unavailable { margin-top: 6px; font-size: 10px; line-height: 1.25; }

whipl-duo-offers .wduo-badge { position: absolute; top: 9px; left: 9px; display: inline-flex; max-width: calc(100% - 39px); padding: 5px 8px; background: var(--duo-badge-bg); color: var(--duo-badge-color); font-size: var(--duo-badge-size); font-weight: 700; line-height: 1.1; border-radius: 99px; z-index: 1; }
whipl-duo-offers .wduo-check { position: absolute; top: 9px; right: 9px; width: 21px; height: 21px; display: grid; place-items: center; border: 1px solid var(--duo-selected-border); border-radius: 50%; color: transparent; background: var(--duo-bg); font-size: 13px; line-height: 1; }
whipl-duo-offers .wduo-card.is-selected .wduo-check { background: var(--duo-check-bg); border-color: var(--duo-check-bg); color: var(--duo-check-color); }

/* Waagerechte Special-Offer-Karte */
whipl-duo-offers .wduo-strip { margin-top: var(--duo-current-gap); min-height: var(--duo-strip-height); display: grid; grid-template-columns: var(--duo-strip-image) minmax(0, 1fr) max-content; align-items: center; column-gap: 12px; background: var(--duo-bg); }
whipl-duo-offers .wduo-strip .wduo-card-image { width: var(--duo-strip-image); height: var(--duo-strip-image); margin: 0; }
whipl-duo-offers .wduo-strip .wduo-card-content { display: block; padding: 0; }
whipl-duo-offers .wduo-strip .wduo-card-title { padding: 0; font-size: var(--duo-strip-title-size); line-height: 1.2; }
whipl-duo-offers .wduo-strip .wduo-card-subtitle { margin: 4px 0 0; font-size: var(--duo-current-feature); }
whipl-duo-offers .wduo-strip .wduo-badge { position: static; display: inline-flex; max-width: 100%; width: max-content; padding: 4px 7px; margin: 0 0 5px; }
whipl-duo-offers .wduo-strip .wduo-price-box { margin: 0; padding: 21px 0 0; border: 0; align-items: flex-end; }
whipl-duo-offers .wduo-strip .wduo-price { font-size: min(var(--duo-current-price), 23px); }
whipl-duo-offers .wduo-strip .wduo-check { width: 17px; height: 17px; font-size: 11px; top: 8px; right: 8px; }

whipl-duo-offers .wduo-common { display: flex; justify-content: center; flex-wrap: wrap; align-items: center; gap: 7px; margin-top: var(--duo-current-gap); padding: 9px; background: var(--duo-common-bg); border: 1px solid var(--duo-border); border-radius: var(--duo-current-radius); font-size: var(--duo-current-feature); line-height: 1.25; }
whipl-duo-offers .wduo-common-check { width: 19px; height: 19px; display: grid; place-items: center; background: var(--duo-check-bg); color: var(--duo-check-color); border-radius: 50%; font-size: 12px; }

/* Duo-Erklärung */
whipl-duo-offers .wduo-details { margin-top: var(--duo-details-gap); padding: var(--duo-detail-padding); border: 1px solid var(--duo-border); border-radius: var(--duo-current-radius); background: var(--duo-details-bg); }
whipl-duo-offers .wduo-details-title { margin: 0; text-align: center; font: inherit; font-size: var(--current-duo-details-title-size); color: var(--duo-heading-color); font-weight: 700; line-height: 1.2; }
whipl-duo-offers .wduo-details-subtitle { margin: 6px 0 12px; text-align: center; font-size: var(--current-duo-description-size); line-height: 1.3; }
whipl-duo-offers .wduo-devices { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
whipl-duo-offers .wduo-device { position: relative; min-width: 0; overflow: hidden; text-align: center; border-radius: calc(var(--duo-current-radius) * .8); background: var(--duo-device-bg); padding-bottom: 10px; display: flex; flex-direction: column; }

whipl-duo-offers .wduo-media { position: relative; margin: 0 0 8px; height: var(--device-height); overflow: hidden; border-radius: calc(var(--duo-current-radius) * .8); flex-shrink: 0; }
whipl-duo-offers .wduo-media img, whipl-duo-offers .wduo-media video { width: 100%; height: 100%; object-fit: var(--device-fit); object-position: var(--device-position); display: block; }
whipl-duo-offers .wduo-media.is-playing > img { display: none; }
whipl-duo-offers .wduo-media > video[hidden] { display: none; }
whipl-duo-offers .wduo-media.is-playing > video { display: block !important; }

whipl-duo-offers .wduo-free { position: absolute; top: 8px; left: 8px; max-width: calc(100% - 16px); padding: 5px 8px; border-radius: 99px; background: var(--duo-free-bg); color: var(--duo-free-color); font-size: var(--duo-badge-size); font-weight: 700; z-index: 1; line-height: 1.15; }
whipl-duo-offers .wduo-plus { position: absolute; z-index: 2; left: 50%; top: calc(var(--current-duo-left-height) * .5); transform: translate(-50%, -50%); width: var(--current-duo-plus-size); height: var(--current-duo-plus-size); display: grid; place-items: center; border: 1px solid var(--duo-border); border-radius: 50%; background: var(--duo-plus-bg); color: var(--duo-plus-color); font-size: var(--duo-plus-font); line-height: 1; font-weight: 500; }

whipl-duo-offers .wduo-device-title { font: inherit; color: var(--duo-heading-color); font-size: var(--current-duo-device-title-size); font-weight: 700; line-height: 1.2; margin: 0 6px 3px; }
whipl-duo-offers .wduo-description { font-size: var(--current-duo-description-size); line-height: 1.3; margin: 0 6px 9px; }
whipl-duo-offers .wduo-device-prices { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: center; gap: 4px 10px; margin: auto 5px 0; }
whipl-duo-offers .wduo-device-prices strong { font-size: var(--current-duo-device-price-size); color: var(--duo-price-color); white-space: nowrap; line-height: 1.1; }
whipl-duo-offers .wduo-device-prices s { font-size: calc(var(--current-duo-device-price-size) * .63); color: var(--duo-compare-color); white-space: nowrap; }

whipl-duo-offers .wduo-total-row { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--duo-border); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
whipl-duo-offers .wduo-total-label, whipl-duo-offers .wduo-saving-label { display: block; font-size: var(--current-duo-description-size); margin-bottom: 4px; line-height: 1.2; }
whipl-duo-offers .wduo-total-values { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
whipl-duo-offers .wduo-total-values strong { font-size: var(--current-duo-total-size); color: var(--duo-total-color); line-height: 1.05; letter-spacing: -.03em; white-space: nowrap; }
whipl-duo-offers .wduo-total-values s { font-size: calc(var(--current-duo-total-size) * .55); color: var(--duo-compare-color); white-space: nowrap; }
whipl-duo-offers .wduo-saving { padding: 10px 14px; border-radius: var(--duo-current-radius); background: var(--duo-saving-bg); color: var(--duo-saving-color); text-align: center; }
whipl-duo-offers .wduo-saving strong { font-size: var(--current-duo-saving-size); line-height: 1.05; font-weight: 700; white-space: nowrap; }

/* Video-Button und Dialog */
whipl-duo-offers .wduo-video-button { width: 100%; display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 10px; padding: 9px 12px; background: var(--duo-video-button-bg); color: var(--duo-video-button-color); border: 1px solid var(--duo-border); border-radius: var(--duo-current-radius); text-align: left; cursor: pointer; font: inherit; }
whipl-duo-offers .wduo-play { flex: 0 0 30px; width: 30px; height: 30px; display: grid; place-items: center; font-size: 15px; border: 1px solid currentColor; border-radius: 50%; }
whipl-duo-offers .wduo-video-button strong { display: block; font-size: var(--current-duo-description-size); line-height: 1.2; }
whipl-duo-offers .wduo-video-button small { display: block; margin-top: 2px; font-size: calc(var(--current-duo-description-size) * .9); line-height: 1.2; }
whipl-duo-offers .wduo-error { margin: 10px 0 0; padding: 9px; border: 1px solid var(--duo-border); border-radius: 8px; color: var(--duo-text); font-size: 12px; }
whipl-duo-offers .wduo-dialog { width: min(760px, 94vw); padding: 12px; max-height: 90dvh; border: 1px solid var(--duo-border); border-radius: var(--duo-current-radius); background: var(--duo-details-bg); color: var(--duo-heading-color); }
whipl-duo-offers .wduo-dialog::backdrop { background: rgba(0, 0, 0, .55); }
whipl-duo-offers .wduo-dialog button { display: block; margin: 0 0 8px auto; padding: 7px 10px; border: 1px solid var(--duo-border); border-radius: 6px; background: var(--duo-video-button-bg); color: var(--duo-video-button-color); font: inherit; cursor: pointer; }
whipl-duo-offers .wduo-dialog video { display: block; max-width: 100%; max-height: 75dvh; margin: auto; }

/* Farbauswahl und Produktbild */
.whipl-duo-managed .whipl-duo-color-unavailable { opacity: .4; }
.whipl-duo-media-active { position: relative; }
.whipl-duo-media-active > :not([data-whipl-offer-media]) { visibility: hidden !important; position: absolute !important; top: 0; left: 0; width: 100%; pointer-events: none !important; }
[data-whipl-offer-media] { display: none; margin: 0; width: 100%; }
.whipl-duo-media-active > [data-whipl-offer-media] { display: block; }
[data-whipl-offer-media] img { display: block; width: 100%; height: auto; max-height: 700px; object-fit: contain; }
whipl-duo-offers[data-ready="false"] [data-offer] { pointer-events: none; opacity: .5; }
.whipl-duo-managed .product-form__option-selector[hidden] { display: none !important; }

whipl-duo-offers .wduo-features > p { display: flex; align-items: flex-start; gap: 6px; margin-bottom: 3px; }
whipl-duo-offers .wduo-features > p::before { content: "✓"; flex: 0 0 1em; color: var(--duo-heading-color); font-weight: 700; }
whipl-duo-offers .wduo-features > p:has(strong, b)::before { content: "+"; }
whipl-duo-offers .wduo-card.has-extra-discount .wduo-price { color: var(--wduo-extra-color, var(--duo-price-color)); }
whipl-duo-offers.bundles-section.bundles-section-new .bundle-card.has-extra-discount .bundle-pricing__current { color: var(--wduo-extra-color) !important; }

/* Mobil */
@media (max-width: 767px) {
  whipl-duo-offers {
    --duo-current-gap: var(--duo-gap-mobile);
    --duo-current-padding: var(--duo-padding-mobile);
    --duo-current-radius: var(--duo-radius-mobile);
    --duo-current-image: var(--duo-card-image-height-mobile);
    --duo-current-title: var(--duo-card-title-size-mobile);
    --duo-current-feature: var(--duo-feature-size-mobile);
    --duo-current-price: var(--duo-card-price-size-mobile);
    --duo-detail-padding: var(--duo-details-padding-mobile);
    --current-duo-details-title-size: var(--duo-details-title-mobile);
    --current-duo-device-title-size: var(--duo-device-title-mobile);
    --current-duo-description-size: var(--duo-description-mobile);
    --current-duo-device-price-size: var(--duo-device-price-mobile);
    --current-duo-total-size: var(--duo-total-mobile);
    --current-duo-saving-size: var(--duo-saving-mobile);
    --current-duo-plus-size: var(--duo-plus-size-mobile);
    --current-duo-left-height: var(--duo-left-height-mobile);
  }

  whipl-duo-offers .wduo-heading { margin-bottom: 10px; font-size: var(--duo-heading-mobile); }
  whipl-duo-offers .wduo-card-image { margin-bottom: 7px; }
  whipl-duo-offers .wduo-card-title { min-height: 2.4em; padding-bottom: 7px; }
  whipl-duo-offers .wduo-features { padding-top: 7px; margin-bottom: 10px; line-height: 1.3; }
  whipl-duo-offers .wduo-features li { gap: 3px; margin-bottom: 3px; }
  whipl-duo-offers .wduo-desktop-features { display: none; }
  whipl-duo-offers .wduo-mobile-features { display: block; }
  whipl-duo-offers .wduo-price-box { padding-top: 8px; gap: 2px; }
  whipl-duo-offers .wduo-badge { left: 5px; top: 6px; padding: 4px 5px; font-size: min(var(--duo-badge-size), 8px); max-width: calc(100% - 25px); }
  whipl-duo-offers .wduo-check { right: 5px; top: 5px; width: 16px; height: 16px; font-size: 10px; }

  whipl-duo-offers .wduo-strip { min-height: var(--duo-strip-height-mobile); grid-template-columns: var(--duo-strip-image-mobile) minmax(0, 1fr) max-content; gap: 7px; }
  whipl-duo-offers .wduo-strip .wduo-card-image { width: var(--duo-strip-image-mobile); height: var(--duo-strip-image-mobile); margin: 0; }
  whipl-duo-offers .wduo-strip .wduo-card-title { min-height: 0; padding: 0; font-size: var(--duo-strip-title-mobile); }
  whipl-duo-offers .wduo-strip .wduo-card-subtitle { margin-top: 3px; font-size: 10px; }
  whipl-duo-offers .wduo-strip .wduo-badge { margin-bottom: 4px; max-width: 100%; font-size: 8px; }
  whipl-duo-offers .wduo-strip .wduo-price { font-size: var(--duo-current-price); }
  whipl-duo-offers .wduo-strip .wduo-price-box { padding-top: 17px; }

  whipl-duo-offers .wduo-devices { gap: 8px; }
  whipl-duo-offers .wduo-media { height: var(--device-height-mobile); margin-bottom: 7px; }
  whipl-duo-offers .wduo-details-subtitle { margin: 5px 0 8px; }
  whipl-duo-offers .wduo-free { left: 5px; top: 5px; max-width: calc(100% - 10px); font-size: 8px; padding: 4px 6px; }
  whipl-duo-offers .wduo-plus { font-size: min(var(--duo-plus-font), 24px); }
  whipl-duo-offers .wduo-device { padding-bottom: 8px; }
  whipl-duo-offers .wduo-description { margin-bottom: 6px; }
  whipl-duo-offers .wduo-device-prices { gap: 3px 6px; }
  whipl-duo-offers .wduo-total-row { display: grid; grid-template-columns: minmax(0, 1fr) max-content; margin-top: 8px; padding-top: 8px; gap: 7px; }
  whipl-duo-offers .wduo-saving { padding: 8px 10px; justify-self: end; }
  whipl-duo-offers .wduo-video-button { margin-top: 8px; gap: 8px; padding: 7px 9px; }
  whipl-duo-offers .wduo-play { width: 25px; height: 25px; flex-basis: 25px; font-size: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  whipl-duo-offers .wduo-card { transition: none; }
}

/* Optionale Gestaltung der normalen Set-Karten */
whipl-duo-offers.bundles-section.bundles-section-new[data-style-normal="true"] .bundles-wrapper { gap: var(--duo-current-gap) !important; }
whipl-duo-offers.bundles-section.bundles-section-new[data-style-normal="true"] .bundle-section-heading { font-size: var(--duo-heading-size) !important; color: var(--duo-heading-color) !important; }
whipl-duo-offers.bundles-section.bundles-section-new[data-style-normal="true"] .bundle-card { background: var(--duo-bg) !important; color: var(--duo-text) !important; border: var(--duo-border-width) solid var(--duo-border) !important; border-radius: var(--duo-current-radius) !important; padding: var(--duo-current-padding) !important; }
whipl-duo-offers.bundles-section.bundles-section-new[data-style-normal="true"] .bundle-card.bundle-card--active { background: var(--duo-selected-bg) !important; border-color: var(--duo-selected-border) !important; box-shadow: 0 0 0 calc(var(--duo-selected-width) - var(--duo-border-width)) var(--duo-selected-border) !important; }
whipl-duo-offers.bundles-section.bundles-section-new[data-style-normal="true"] .bundle-image { height: var(--duo-current-image) !important; background-size: var(--duo-card-fit) !important; }
whipl-duo-offers.bundles-section.bundles-section-new[data-style-normal="true"] .bundle-title { font-size: var(--duo-current-title) !important; color: var(--duo-heading-color) !important; }
whipl-duo-offers.bundles-section.bundles-section-new[data-style-normal="true"] .bundle-features-rich { font-size: var(--duo-current-feature) !important; color: var(--duo-text) !important; }
whipl-duo-offers.bundles-section.bundles-section-new[data-style-normal="true"] .bundle-pricing__current { font-size: var(--duo-current-price) !important; color: var(--duo-price-color) !important; }
whipl-duo-offers.bundles-section.bundles-section-new[data-style-normal="true"] .bundle-pricing__current s { color: var(--duo-compare-color) !important; }
whipl-duo-offers.bundles-section.bundles-section-new[data-style-normal="true"] .bundle-badge { background: var(--duo-badge-bg) !important; color: var(--duo-badge-color) !important; font-size: var(--duo-badge-size) !important; }
whipl-duo-offers.bundles-section.bundles-section-new[data-style-normal="true"] .bundle-card::after { background: var(--duo-check-bg) !important; color: var(--duo-check-color) !important; }

@media (max-width: 767px) {
  whipl-duo-offers.bundles-section.bundles-section-new[data-style-normal="true"] .bundle-section-heading { font-size: var(--duo-heading-mobile) !important; }
}

whipl-duo-offers .bundle-features-rich :is(p, li):has(strong, b)::before { content: "+" !important; }
whipl-duo-offers .bundle-features-rich :is(strong, b) { font-weight: inherit !important; }
/* END_SNIPPET:whipl-bundle-duo */