/* B2BFood · Astra · CI 2.0–2.7 · isolated module v01 */
.bf-weekly-product {
  --weekly-purple:#45336e; --weekly-ink:#312340; --weekly-muted:#62586c;
  --weekly-paper:#fffaf1; --weekly-lime:#d8ef69; --weekly-line:#dcd5df;
  box-sizing:border-box; min-width:0; margin:40px 0; padding:24px;
  border:1.5px solid var(--weekly-ink); border-radius:24px;
  box-shadow:4px 5px 0 var(--weekly-ink); background:var(--weekly-paper);
  color:var(--weekly-ink); font:400 16px/1.5 Manrope,system-ui,sans-serif;
  text-align:left; scroll-margin-top:120px;
}
.bf-weekly-product *, .bf-weekly-product *::before, .bf-weekly-product *::after {box-sizing:border-box}
.bf-weekly-product .bf-weekly-product__layout {display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:40px; align-items:center}
.bf-weekly-product .bf-weekly-product__image-link {position:relative; display:flex; align-items:center; justify-content:center; min-width:0; height:320px; padding:24px; border:1px solid var(--weekly-line); border-radius:16px; background:#fff; color:var(--weekly-purple); text-decoration:none}
.bf-weekly-product .bf-weekly-product__image-link img {display:block; width:100%; height:100%; min-width:0; object-fit:contain; object-position:center}
.bf-weekly-product .bf-weekly-product__image-arrow {position:absolute; right:12px; bottom:12px; display:grid; place-items:center; width:36px; height:36px; border:1px solid var(--weekly-purple); border-radius:50%; font-size:22px; line-height:1; background:var(--weekly-paper)}
.bf-weekly-product .bf-weekly-product__content {min-width:0; padding:8px 8px 8px 0}
.bf-weekly-product .bf-weekly-product__topline {display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px 20px; margin-bottom:24px}
.bf-weekly-product .bf-weekly-product__topline h2 {margin:0; padding:0; color:var(--weekly-purple); font:800 17px/1.4 Manrope,system-ui,sans-serif; letter-spacing:-.025em; text-transform:none}
.bf-weekly-product .bf-weekly-product__marker {position:relative; isolation:isolate; display:inline-block; white-space:nowrap}
.bf-weekly-product .bf-weekly-product__marker::before {content:""; position:absolute; z-index:-1; inset:8% -6px -3% -5px; background:var(--weekly-lime); border-radius:40% 15% 25% 15% / 15% 30% 14% 35%; transform:rotate(-2deg)}
.bf-weekly-product .bf-weekly-product__article {color:var(--weekly-muted); font-size:12px; font-weight:500; font-variant-numeric:tabular-nums; white-space:nowrap}
.bf-weekly-product .bf-weekly-product__name {margin:0 0 12px; color:var(--weekly-purple); font:800 clamp(25px,2.5vw,36px)/1.12 Manrope,system-ui,sans-serif; letter-spacing:-.04em; overflow-wrap:anywhere}
.bf-weekly-product .bf-weekly-product__name a {color:inherit; text-decoration:none}
.bf-weekly-product .bf-weekly-product__minimum {display:block; margin:0; padding:0; color:var(--weekly-muted); font-size:14px; line-height:1.5}
.bf-weekly-product .bf-weekly-product__minimum strong {color:var(--weekly-ink); font-weight:800; white-space:nowrap}
.bf-weekly-product .bf-weekly-product__price-area {margin:20px 0; padding:16px 0 20px; border-bottom:1px solid var(--weekly-line)}
.bf-weekly-product .bf-weekly-product__reference {display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 8px; margin:0 0 5px; color:var(--weekly-muted); font-size:12px}
.bf-weekly-product .bf-weekly-product__reference del {font-size:16px; font-weight:500; font-variant-numeric:tabular-nums; text-decoration-thickness:1.5px}
.bf-weekly-product .bf-weekly-product__price {display:flex; align-items:center; flex-wrap:wrap; gap:8px 16px; margin:0; color:var(--weekly-purple)}
.bf-weekly-product .bf-weekly-product__price > strong {font-size:52px; font-weight:800; line-height:1.05; letter-spacing:-.06em; font-variant-numeric:tabular-nums; white-space:nowrap}
.bf-weekly-product .bf-weekly-product__price > strong > span {font-size:.65em; letter-spacing:-.035em}
.bf-weekly-product .bf-weekly-product__tax {color:var(--weekly-muted); font-size:12px; font-weight:500; line-height:1.5}
.bf-weekly-product .bf-weekly-product__price-locked {margin:0; color:var(--weekly-purple); font-size:18px; font-weight:800; line-height:1.4}
.bf-weekly-product .bf-weekly-product__offer-note {margin:12px 0 0; color:var(--weekly-muted); font-size:12px; line-height:1.5}
.bf-weekly-product .bf-weekly-product__actions {display:flex; flex-wrap:wrap; align-items:stretch; gap:12px}
.bf-weekly-product .bf-weekly-product__actions form {display:flex; min-width:0; margin:0; flex:1 1 250px}
.bf-weekly-product .bf-weekly-product__button {display:inline-flex; align-items:center; justify-content:space-between; gap:16px; min-width:0; min-height:56px; padding:14px 20px; border:1.5px solid var(--weekly-purple); border-radius:99px; background:var(--weekly-purple); color:var(--weekly-paper); font:800 14px/1.4 Manrope,system-ui,sans-serif; text-align:left; text-decoration:none; cursor:pointer; transition:background 180ms ease,color 180ms ease}
.bf-weekly-product .bf-weekly-product__actions form .bf-weekly-product__button {width:100%}
.bf-weekly-product .bf-weekly-product__button > span {flex-shrink:0; font-size:20px; line-height:1}
.bf-weekly-product .bf-weekly-product__button--secondary {background:transparent; color:var(--weekly-purple)}
.bf-weekly-product .bf-weekly-product__button:hover {background:var(--weekly-ink); border-color:var(--weekly-ink); color:var(--weekly-paper)}
.bf-weekly-product .bf-weekly-product__button--secondary:hover {background:#dfd2f2; border-color:var(--weekly-purple); color:var(--weekly-purple)}
.bf-weekly-product .bf-weekly-product__name a:hover {text-decoration:underline; text-decoration-thickness:1.5px; text-underline-offset:4px}
.bf-weekly-product .bf-weekly-product__image-link:hover .bf-weekly-product__image-arrow {background:var(--weekly-lime)}
.bf-weekly-product :is(a,button):focus-visible {outline:3px solid var(--weekly-purple); outline-offset:4px}
body.variant-D .d-home .bf-weekly-product a.bf-weekly-product__button {color:#fffaf1!important}
body.variant-D .d-home .bf-weekly-product a.bf-weekly-product__button--secondary {color:#45336e!important}
@media (max-width:1000px) and (min-width:701px) {
 .bf-weekly-product .bf-weekly-product__layout {grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:24px}
 .bf-weekly-product .bf-weekly-product__image-link {height:300px; padding:16px}
 .bf-weekly-product .bf-weekly-product__topline {margin-bottom:20px}
}
@media (max-width:700px) {
 .bf-weekly-product {margin:28px 0; padding:16px; border-radius:24px; box-shadow:3px 4px 0 var(--weekly-ink)}
 .bf-weekly-product .bf-weekly-product__layout {grid-template-columns:minmax(0,1fr); gap:20px}
 .bf-weekly-product .bf-weekly-product__image-link {height:190px; padding:16px 24px; border-radius:12px}
 .bf-weekly-product .bf-weekly-product__content {padding:0 4px 4px}
 .bf-weekly-product .bf-weekly-product__topline {gap:8px 16px; margin-bottom:16px}
 .bf-weekly-product .bf-weekly-product__topline h2 {font-size:15px}
 .bf-weekly-product .bf-weekly-product__article {font-size:11px}
 .bf-weekly-product .bf-weekly-product__name {font-size:27px; margin-bottom:8px}
 .bf-weekly-product .bf-weekly-product__price-area {margin:16px 0; padding:8px 0 16px}
 .bf-weekly-product .bf-weekly-product__price > strong {font-size:46px}
 .bf-weekly-product .bf-weekly-product__actions {gap:10px}
 .bf-weekly-product .bf-weekly-product__actions > a, .bf-weekly-product .bf-weekly-product__actions form {width:100%; flex-basis:100%}
}
@media (prefers-reduced-motion:reduce) {.bf-weekly-product .bf-weekly-product__button {transition:none}}

/* Revision 02: CI-Bildbühne, Wochenzeichen, Mengenicon und Angebotsfeld. */
.bf-weekly-product .bf-weekly-product__image-link {isolation:isolate; height:352px; padding:40px 28px; overflow:hidden; border:1.5px solid var(--weekly-purple); background:#dfd2f2; border-radius:20px}
.bf-weekly-product .bf-weekly-product__photo {position:relative; z-index:1; display:flex; align-items:center; width:100%; height:100%; padding:14px; background:#fff; border:1px solid var(--weekly-ink); border-radius:16px; box-shadow:4px 5px 0 rgba(69,51,110,.16)}
.bf-weekly-product .bf-weekly-product__stage-shape {position:absolute; pointer-events:none}
.bf-weekly-product .bf-weekly-product__stage-shape--lime {width:175px; height:115px; top:-34px; left:-28px; background:var(--weekly-lime); border:1.5px solid var(--weekly-purple); border-radius:43% 57% 64% 36% / 53% 36% 64% 47%; transform:rotate(-18deg)}
.bf-weekly-product .bf-weekly-product__stage-shape--coral {width:170px; height:120px; bottom:-45px; right:-30px; border:1.5px solid var(--weekly-purple); background:#f6a087; border-radius:52% 48% 33% 67% / 58% 31% 69% 42%; transform:rotate(-12deg)}
.bf-weekly-product .bf-weekly-product__stage-rays {position:absolute; z-index:2; width:54px; height:54px; top:4px; right:13px; color:var(--weekly-purple); transform:rotate(13deg); pointer-events:none}
.bf-weekly-product .bf-weekly-product__stage-drawing {position:absolute; z-index:2; width:85px; height:56px; left:8px; bottom:3px; color:var(--weekly-purple); transform:rotate(-8deg); pointer-events:none}
.bf-weekly-product .bf-weekly-product__image-arrow {z-index:3; right:12px; bottom:12px; background:var(--weekly-paper)}
.bf-weekly-product .bf-weekly-product__topline {gap:12px; margin-bottom:20px}
.bf-weekly-product .bf-weekly-product__topline h2 {display:flex; align-items:center; gap:7px; font-size:18px}
.bf-weekly-product .bf-weekly-product__calendar {width:32px; height:32px; flex:0 0 32px; margin-right:3px; transform:rotate(-7deg)}
.bf-weekly-product .bf-weekly-product__marker::before {inset:1% -7px -5% -6px; transform:rotate(-3deg)}
.bf-weekly-product .bf-weekly-product__article {padding:5px 9px; border:1px solid var(--weekly-line); border-radius:7px; background:#fff}
.bf-weekly-product .bf-weekly-product__minimum {display:inline-flex; align-items:center; gap:9px; padding:7px 12px 7px 9px; border:1px solid #c8b9dc; border-radius:10px; background:#eee6f6; color:var(--weekly-purple)}
.bf-weekly-product .bf-weekly-product__minimum svg {width:25px; height:25px; flex:0 0 25px}
.bf-weekly-product .bf-weekly-product__price-area {position:relative; margin:16px 0 20px; padding:16px 58px 16px 18px; border:1px solid #c8b9dc; border-left:4px solid var(--weekly-purple); border-radius:4px 16px 16px 4px; background:#fff}
.bf-weekly-product .bf-weekly-product__price-mark {position:absolute; width:39px; height:39px; top:13px; right:12px; color:var(--weekly-purple); transform:rotate(8deg)}
.bf-weekly-product .bf-weekly-product__offer-note {margin-top:12px; padding-top:10px; border-top:1px dashed var(--weekly-line)}
@media (max-width:1000px) and (min-width:701px) {
 .bf-weekly-product .bf-weekly-product__image-link {height:340px; padding:40px 20px}
 .bf-weekly-product .bf-weekly-product__topline h2 {font-size:17px}
}
@media (max-width:700px) {
 .bf-weekly-product .bf-weekly-product__image-link {height:228px; padding:28px 24px; border-radius:16px}
 .bf-weekly-product .bf-weekly-product__photo {padding:9px; border-radius:12px}
 .bf-weekly-product .bf-weekly-product__stage-shape--lime {width:130px; height:92px; top:-32px}
 .bf-weekly-product .bf-weekly-product__stage-shape--coral {width:135px; height:95px; bottom:-39px}
 .bf-weekly-product .bf-weekly-product__stage-drawing {width:67px; height:43px; left:5px; bottom:0}
 .bf-weekly-product .bf-weekly-product__stage-rays {width:44px; height:44px; right:5px; top:-2px}
 .bf-weekly-product .bf-weekly-product__topline {margin-bottom:16px}
 .bf-weekly-product .bf-weekly-product__topline h2 {font-size:16px; gap:5px}
 .bf-weekly-product .bf-weekly-product__calendar {width:27px; height:27px; flex-basis:27px; margin-right:2px}
 .bf-weekly-product .bf-weekly-product__article {padding:4px 7px}
 .bf-weekly-product .bf-weekly-product__minimum {font-size:13px}
 .bf-weekly-product .bf-weekly-product__price-area {padding:14px 45px 14px 14px; margin:16px 0}
 .bf-weekly-product .bf-weekly-product__price-mark {width:31px; height:31px; right:8px; top:11px}
 .bf-weekly-product .bf-weekly-product__price {gap:8px 12px}
}
