/* Baby Luxury — sfeerlaag (BL-SFEER-20261031): zacht drijvende kleurvlakken, wolkjes en sterretjes uit het logo.
   Alleen transform/opacity in keyframes; blur staat vast op het element. Uit bij prefers-reduced-motion. */
.bl-lucht{position:relative;isolation:isolate;overflow:hidden}
.bl-lucht>.bl-bg{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.bl-bg .blob{position:absolute;width:46vmax;height:46vmax;border-radius:50%;opacity:.85;filter:blur(52px);will-change:transform;
  animation:bl-drijf var(--t,46s) ease-in-out infinite alternate;animation-delay:var(--d,0s)}
.bl-bg .blob.b1{background:radial-gradient(circle at 50% 50%,#f1cbc1,rgba(241,203,193,0) 70%);left:-12%;top:-30%}
.bl-bg .blob.b2{background:radial-gradient(circle at 50% 50%,#e6cfa4,rgba(230,207,164,0) 70%);right:-14%;top:10%;--t:58s;--d:-12s}
.bl-bg .blob.b3{background:radial-gradient(circle at 50% 50%,#c9dbec,rgba(201,219,236,0) 70%);left:28%;bottom:-38%;--t:52s;--d:-25s;opacity:.7}
@keyframes bl-drijf{0%{transform:translate3d(0,0,0) scale(1)}35%{transform:translate3d(6vmax,3vmax,0) scale(1.08)}70%{transform:translate3d(-4vmax,5vmax,0) scale(.94)}100%{transform:translate3d(3vmax,-3vmax,0) scale(1.05)}}
.bl-bg .wolk{position:absolute;left:0;width:var(--w,180px);height:auto;opacity:var(--o,.85);animation:bl-wolk var(--t,90s) linear infinite;animation-delay:var(--d,0s);will-change:transform}
.bl-bg .wolk svg{display:block;width:100%;height:auto;filter:drop-shadow(0 6px 10px rgba(120,90,60,.07))}
@keyframes bl-wolk{from{transform:translate3d(-30vw,0,0)}to{transform:translate3d(130vw,0,0)}}
.bl-bg .ster{position:absolute;width:var(--s,10px);height:var(--s,10px);opacity:0;animation:bl-twinkel var(--t,6s) ease-in-out infinite;animation-delay:var(--d,0s)}
.bl-bg .ster svg{display:block;width:100%;height:100%}
@keyframes bl-twinkel{0%,100%{opacity:0;transform:scale(.6) rotate(0)}45%,55%{opacity:var(--o,.75);transform:scale(1) rotate(20deg)}}
.bl-bg .hart{position:absolute;width:var(--s,10px);opacity:.55;animation:bl-zweef var(--t,9s) ease-in-out infinite alternate;animation-delay:var(--d,0s)}
@keyframes bl-zweef{from{transform:translateY(0)}to{transform:translateY(-14px)}}
/* lichte variant: geen kleurvlakken, alleen een enkel wolkje en wat sterretjes */
.bl-licht>.bl-bg .blob{display:none}
/* wolkenrand onder de hero */
.bl-rand{position:relative}
.bl-rand>.bl-wolkenrand{position:absolute;left:0;right:0;bottom:-1px;height:clamp(34px,5vw,70px);z-index:3;pointer-events:none}
.bl-rand>.bl-wolkenrand svg{width:100%;height:100%;display:block}
.bl-rand>.bl-wolkenrand .l2{animation:bl-golf 22s ease-in-out infinite alternate}
@keyframes bl-golf{from{transform:translateX(0)}to{transform:translateX(-3%)}}
@media (max-width:700px){.bl-bg .blob{filter:blur(40px);width:70vmax;height:70vmax}.bl-bg .wolk{--w:120px}}
@media (prefers-reduced-motion:reduce){.bl-bg .blob,.bl-bg .wolk,.bl-bg .ster,.bl-bg .hart,.bl-rand .l2{animation:none!important}.bl-bg .ster{opacity:.5}.bl-bg .wolk{transform:translate3d(20vw,0,0)}}

/* avondhemel in de footer (BL-NACHT-20261031) */
.bl-nacht{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(180deg,#2b2019 0%,#33251d 55%,#2a2230 100%)!important}
.bl-nacht>.bl-bg{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.bl-nacht>.bl-bg .blob{opacity:.55;filter:blur(70px)}
.bl-nacht>.bl-bg .blob.b1{background:radial-gradient(circle,#7a5136,rgba(122,81,54,0) 70%)}
.bl-nacht>.bl-bg .blob.b2{background:radial-gradient(circle,#7d4f57,rgba(125,79,87,0) 70%)}
.bl-nacht>.bl-bg .blob.b3{background:radial-gradient(circle,#3d4c66,rgba(61,76,102,0) 70%);opacity:.6}
.bl-nacht .ster{--o:.9}
.bl-boog{position:absolute;right:-4%;bottom:-18%;width:min(560px,60vw);opacity:.16;animation:bl-wieg 14s ease-in-out infinite alternate}
.bl-boog path{fill:none;stroke-linecap:butt;stroke-dasharray:640;stroke-dashoffset:640;animation:bl-teken 3.2s cubic-bezier(.2,.8,.2,1) forwards;animation-play-state:paused}
.bl-nacht.zicht .bl-boog path{animation-play-state:running}
.bl-boog path:nth-child(2){animation-delay:.25s}.bl-boog path:nth-child(3){animation-delay:.5s}.bl-boog path:nth-child(4){animation-delay:.75s}
@keyframes bl-teken{to{stroke-dashoffset:0}}
@keyframes bl-wieg{from{transform:rotate(-2deg) translateY(0)}to{transform:rotate(2deg) translateY(-10px)}}
.bl-ft-kop{position:relative;text-align:center;padding:10px 20px 46px;margin-bottom:40px;border-bottom:1px solid rgba(233,220,203,.14)}
.bl-ft-kop span{display:block;font:500 .74rem/1 var(--sans,inherit);letter-spacing:.24em;text-transform:uppercase;color:#cfae86;margin-bottom:14px}
.bl-ft-kop strong{display:block;font-family:"Cormorant",Georgia,serif;font-weight:400;font-style:italic;font-size:clamp(2rem,4.4vw,3.4rem);line-height:1.1;color:#f6ead9}
.bl-ft-kop .bl-ft-ster{display:inline-block;color:#e6c9a2;animation:bl-twinkel 4s ease-in-out infinite;margin:0 10px;font-style:normal}
/* wolkenrand bovenaan */
.bl-randboven{position:relative}
.bl-randboven>.bl-wolkenrand-b{position:absolute;left:0;right:0;top:-1px;height:clamp(30px,4.4vw,64px);z-index:2;pointer-events:none;transform:scaleY(-1)}
.bl-randboven>.bl-wolkenrand-b svg{width:100%;height:100%;display:block}
.bl-randboven>.bl-wolkenrand-b .l2{animation:bl-golf 26s ease-in-out infinite alternate}
@media (prefers-reduced-motion:reduce){.bl-boog,.bl-boog path,.bl-ft-kop .bl-ft-ster,.bl-wolkenrand-b .l2{animation:none!important}.bl-boog path{stroke-dashoffset:0}}
/* rand-fix: tweede wolkenlaag iets breder, zodat het meebewegen rechts geen gat laat */
.bl-wolkenrand .l2,.bl-wolkenrand-b .l2{transform-origin:0 50%;animation-name:bl-golf2}
@keyframes bl-golf2{from{transform:translateX(0) scaleX(1.06)}to{transform:translateX(-3%) scaleX(1.06)}}
.bl-wolkenrand-b .l2{opacity:.35}
