/* IMMUN year-end offer: home card, blog card and product deadline note.
   Selectors start with body.efh-lu on purpose: blog rules such as
   ".efh-lu .lu-post__content h2/a/img" must not restyle the card. */
body.efh-lu .efh-immun-offer{--immun-ink:#143a40;--immun-text:#4b5658;--immun-meta:#5d6b6e;--immun-deep:#227277;--immun-green:#639f22;--immun-mist:#eff8f8;box-sizing:border-box;display:grid;grid-template-columns:minmax(0,330px) minmax(0,1fr);align-items:center;gap:clamp(36px,5vw,72px);max-width:1200px;margin:clamp(32px,5vw,72px) auto;padding:clamp(32px,3.8vw,52px) clamp(32px,4.6vw,64px) clamp(32px,3.8vw,52px) clamp(32px,4vw,56px);background:var(--immun-mist);border-radius:32px;box-shadow:inset 0 0 0 1px #d6e9e9;color:var(--immun-ink);font-family:'Open Sans',Helvetica,Arial,sans-serif;font-size:17px;line-height:1.6;text-align:left}
body.efh-lu .efh-immun-offer *{box-sizing:border-box}

/* The theme centers full-width sections with viewport-sized padding. This
   capped card needs the bounded site gutter instead, even when zooming out.
   The extra home/parent specificity also wins if theme CSS loads after us. */
body.home.efh-lu .lu-page>.efh-immun-offer{padding-inline:var(--lu-gutter,clamp(20px,5vw,64px))}
/* The offer already adds a bottom margin; avoid doubling the next section gap. */
body.home.efh-lu .lu-page>.efh-immun-offer+.lu-cues{padding-top:clamp(48px,5vw,72px)}

/* Product stage: white plate with the site's double ring, hero boxes, vector seal */
body.efh-lu .efh-immun-offer__visual{position:relative;width:100%;max-width:330px;aspect-ratio:1;margin:0}
body.efh-lu .efh-immun-offer__visual::before{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 50% 42%,#fff 62%,#f2f8f8 100%);box-shadow:0 0 0 8px rgba(255,255,255,.72),0 0 0 9px rgba(68,184,190,.35),0 30px 50px -28px rgba(20,58,64,.45)}
body.efh-lu .efh-immun-offer .efh-immun-offer__boxes{position:absolute;left:8%;top:20%;display:block;width:78%;max-width:none;height:auto;margin:0;border-radius:0;box-shadow:none}
body.efh-lu .efh-immun-offer__seal{position:absolute;right:-13%;bottom:1%;display:block;width:52%;height:auto;overflow:visible;filter:drop-shadow(0 14px 18px rgba(20,58,64,.24));font-family:'Open Sans',Helvetica,Arial,sans-serif}

/* Copy */
body.efh-lu .efh-immun-offer__copy{min-width:0;container-type:inline-size}
body.efh-lu .efh-immun-offer__icon{display:block;flex:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
body.efh-lu .efh-immun-offer .efh-immun-offer__intro{display:flex;align-items:center;gap:8px;margin:0 0 12px;color:var(--immun-deep);font-size:14px;font-weight:700;line-height:1.4}
body.efh-lu .efh-immun-offer__intro .efh-immun-offer__icon{color:var(--immun-green)}
body.efh-lu .efh-immun-offer h2{margin:0 0 14px;padding:0;color:var(--immun-ink);font-size:clamp(1.75rem,1.1rem + 1.7vw,2.625rem);font-weight:800;line-height:1.08;letter-spacing:-.03em;text-wrap:balance;overflow-wrap:break-word;hyphens:manual;scroll-margin-top:0}
body.efh-lu .efh-immun-offer .efh-immun-offer__text{max-width:50ch;margin:0 0 24px;color:var(--immun-text);font-size:1.0625rem;line-height:1.6}

/* Price slip: price and deadline, divided like a voucher */
body.efh-lu .efh-immun-offer__terms{display:flex;align-items:stretch;width:fit-content;max-width:100%;margin:0 0 26px;background:#fff;border-radius:20px;box-shadow:0 1px 2px rgba(20,58,64,.05),0 18px 36px -26px rgba(20,58,64,.42)}
body.efh-lu .efh-immun-offer__pricing{padding:16px 24px 15px}
body.efh-lu .efh-immun-offer .efh-immun-offer__price{margin:0;color:var(--immun-ink);font-size:2.125rem;font-weight:800;line-height:1.1;letter-spacing:-.02em;font-variant-numeric:lining-nums tabular-nums;white-space:nowrap}
body.efh-lu .efh-immun-offer__price del{margin-right:.35em;color:var(--immun-meta);font-size:.5em;font-weight:600;letter-spacing:0;opacity:1;vertical-align:.32em;text-decoration-thickness:1.5px}
body.efh-lu .efh-immun-offer__price ins{background:none;color:inherit;text-decoration:none}
body.efh-lu .efh-immun-offer .efh-immun-offer__tax{margin:6px 0 0;color:var(--immun-meta);font-size:.75rem;line-height:1.4}
body.efh-lu .efh-immun-offer .efh-immun-offer__tax a{color:inherit;text-decoration:underline;text-underline-offset:2px}
body.efh-lu .efh-immun-offer .efh-immun-offer__date{display:flex;align-items:center;gap:12px;margin:0;padding:14px 24px 14px 22px;border-left:2px dashed rgba(34,114,119,.24);color:var(--immun-meta);font-size:.8125rem;line-height:1.35}
body.efh-lu .efh-immun-offer__date .efh-immun-offer__icon{width:26px;height:26px;color:var(--immun-deep)}
body.efh-lu .efh-immun-offer .efh-immun-offer__date strong{display:block;margin-top:2px;color:var(--immun-ink);font-size:1.0625rem;font-weight:800;letter-spacing:-.01em;font-variant-numeric:lining-nums tabular-nums}

/* Narrow copy column (blog, tablet, phone): deadline below the price */
@container (max-width:480px){
body.efh-lu .efh-immun-offer__terms{flex-direction:column;width:100%}
body.efh-lu .efh-immun-offer__pricing{padding:14px 20px 13px}
body.efh-lu .efh-immun-offer .efh-immun-offer__date{padding:12px 20px;border-left:0;border-top:2px dashed rgba(34,114,119,.24)}
body.efh-lu .efh-immun-offer__date .efh-immun-offer__icon{width:22px;height:22px}
body.efh-lu .efh-immun-offer .efh-immun-offer__date strong{display:inline;margin:0}
}

/* Actions: direct link button uses the theme's lu-button look */
body.efh-lu .efh-immun-offer__actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px}
body.efh-lu .efh-immun-offer .efh-immun-offer__actions .lu-button{min-height:52px;padding:14px 30px;color:#fff;font-size:1rem;line-height:1.25;text-decoration:none}
body.efh-lu .efh-immun-offer .efh-immun-offer__more{color:var(--immun-deep);font-size:.9375rem;font-weight:600;line-height:1.4;text-decoration:underline;text-decoration-color:rgba(34,114,119,.4);text-decoration-thickness:1px;text-underline-offset:4px;transition:color .2s ease,text-decoration-color .2s ease}
body.efh-lu .efh-immun-offer .efh-immun-offer__more:hover{color:var(--immun-ink);text-decoration-color:currentColor}
body.efh-lu .efh-immun-offer a:focus-visible{outline:2px solid var(--immun-ink);outline-offset:4px}

/* Blog article variant: narrower content column */
body.efh-lu .efh-immun-offer--article{grid-template-columns:minmax(0,224px) minmax(0,1fr);gap:clamp(32px,4vw,48px);margin:36px 0;padding:32px 34px 32px 30px;border-radius:28px}
body.efh-lu .efh-immun-offer--article .efh-immun-offer__seal{right:-17%;width:59%}
body.efh-lu .efh-immun-offer--article h2{font-size:clamp(1.5rem,1.1rem + 1vw,2rem)}
body.efh-lu .efh-immun-offer--article .efh-immun-offer__text{font-size:1rem}
body.efh-lu .efh-immun-offer--article .efh-immun-offer__price{font-size:1.875rem}

/* After the campaign (article only) */
body.efh-lu .efh-immun-offer--ended{display:block;padding:20px 24px;border-radius:20px}
body.efh-lu .efh-immun-offer--ended p{margin:0}

/* Product page note under the price */
body.efh-lu .efh-immun-offer__product-date{display:flex;align-items:center;gap:10px;margin:12px 0 0!important;padding:10px 14px;border-radius:14px;background:#eff8f8;box-shadow:inset 0 0 0 1px #d6e9e9;color:#143a40;font-size:.875rem!important;font-weight:600;line-height:1.45!important}
body.efh-lu .efh-immun-offer__product-date .efh-immun-offer__icon{width:20px;height:20px;color:#227277}

@media(max-width:1280px){body.efh-lu .lu-page>.efh-immun-offer{margin-left:clamp(20px,4vw,50px);margin-right:clamp(20px,4vw,50px)}}

@media(max-width:900px){
body.efh-lu .efh-immun-offer{grid-template-columns:minmax(0,230px) minmax(0,1fr);gap:44px;padding:32px 32px 32px 28px}
body.efh-lu .efh-immun-offer__seal{right:-17%;width:59%}
body.efh-lu .efh-immun-offer .efh-immun-offer__price{font-size:1.875rem}
}

@media(max-width:600px){
body.efh-lu .efh-immun-offer,body.efh-lu .efh-immun-offer--article{grid-template-columns:minmax(0,1fr);gap:22px;padding:28px 20px 24px;border-radius:24px}
body.efh-lu .efh-immun-offer__visual,body.efh-lu .efh-immun-offer--article .efh-immun-offer__visual{justify-self:center;width:184px;translate:-30px 0}
body.efh-lu .efh-immun-offer__seal,body.efh-lu .efh-immun-offer--article .efh-immun-offer__seal{right:-50%;bottom:-2%;width:70%}
body.efh-lu .efh-immun-offer .efh-immun-offer__intro{margin-bottom:8px;font-size:13px}
body.efh-lu .efh-immun-offer h2,body.efh-lu .efh-immun-offer--article h2{margin-bottom:10px;font-size:1.625rem}
body.efh-lu .efh-immun-offer .efh-immun-offer__text{margin-bottom:18px;font-size:.9375rem}
body.efh-lu .efh-immun-offer__terms{flex-direction:column;width:100%;margin-bottom:20px}
body.efh-lu .efh-immun-offer__pricing{padding:14px 18px 13px}
body.efh-lu .efh-immun-offer .efh-immun-offer__price{font-size:1.875rem}
body.efh-lu .efh-immun-offer .efh-immun-offer__date{padding:12px 18px;border-left:0;border-top:2px dashed rgba(34,114,119,.24)}
body.efh-lu .efh-immun-offer__date .efh-immun-offer__icon{width:22px;height:22px}
body.efh-lu .efh-immun-offer .efh-immun-offer__date strong{display:inline;margin:0}
body.efh-lu .efh-immun-offer__actions{gap:14px}
body.efh-lu .efh-immun-offer .efh-immun-offer__actions .lu-button{width:100%;justify-content:center;padding:14px 18px;text-align:center}
}
