/* Decorative layers are shared by the storefront and the editor. Text stays above them. */
.lbm-campaign-section{--lbm-fx-alpha:.72}.lbm-campaign-section.lbm-intensity-low{--lbm-fx-alpha:.4}.lbm-campaign-section.lbm-intensity-high{--lbm-fx-alpha:1}.lbm-campaign-section .lbm-campaign-copy{z-index:auto}.lbm-campaign-section .lbm-campaign-copy>*{position:relative;z-index:4}.lbm-campaign-section .lbm-campaign-effect{position:absolute;inset:0;z-index:3;overflow:hidden;pointer-events:none;opacity:var(--lbm-fx-alpha);animation:none;transform:none;background:none;box-shadow:none}.lbm-campaign-effect *{pointer-events:none}.lbm-campaign-section .lbm-fx-piece{display:none;position:absolute;left:var(--fx-x);top:var(--fx-y);width:var(--fx-size);height:var(--fx-size);margin:0;animation-duration:calc(var(--lbm-effect-duration,8s) * var(--fx-duration,1));animation-delay:var(--fx-phase);animation-iteration-count:infinite;animation-fill-mode:both;animation-timing-function:ease-in-out;will-change:transform,opacity}.lbm-fx-none .lbm-campaign-effect{display:none}
/* Many visible stars, rather than four barely perceptible dots. */
.lbm-fx-sparkle .lbm-fx-piece{display:block;background:radial-gradient(circle,#fff8d4 8%,#c88926 55%,transparent 72%);clip-path:polygon(50% 0,59% 34%,85% 15%,66% 41%,100% 50%,66% 59%,85% 85%,59% 66%,50% 100%,41% 66%,15% 85%,34% 59%,0 50%,34% 41%,15% 15%,41% 34%);filter:drop-shadow(0 0 4px #e6ab4c);animation-name:lbm-fx-stars;animation-direction:alternate}
@keyframes lbm-fx-stars{0%{opacity:.18;transform:scale(.45) rotate(-15deg)}50%{opacity:1;transform:scale(1.25) rotate(15deg)}100%{opacity:.35;transform:scale(.65) rotate(40deg)}}
.lbm-fx-glow .lbm-campaign-effect{box-shadow:inset 0 0 50px 8px #d49a45,inset 0 0 5px 2px #b78027;animation:lbm-fx-halo calc(var(--lbm-effect-duration,8s) * .65) ease-in-out infinite alternate;opacity:var(--lbm-fx-alpha)}
@keyframes lbm-fx-halo{from{box-shadow:inset 0 0 20px 2px #b481344d,inset 0 0 2px 1px #e8bd69;opacity:calc(var(--lbm-fx-alpha) * .5)}to{box-shadow:inset 0 0 85px 18px #d79e48b8,inset 0 0 6px 3px #a77227;opacity:var(--lbm-fx-alpha)}}
.lbm-fx-sweep .lbm-campaign-effect{background:linear-gradient(105deg,transparent 25%,#c592443d 36%,#fff5d9ed 48%,#c592443d 60%,transparent 72%);animation:lbm-fx-sweep var(--lbm-effect-duration,8s) linear infinite;animation-delay:calc(var(--lbm-effect-duration,8s) * -.25)}
@keyframes lbm-fx-sweep{from{transform:translateX(-75%)}to{transform:translateX(75%)}}
.lbm-fx-gradient .lbm-campaign-effect{background:linear-gradient(115deg,#c98e4699,#ebc57922,#4c94919c,#bd784777);background-size:300% 300%;animation:lbm-fx-waves var(--lbm-effect-duration,8s) ease-in-out infinite alternate}
@keyframes lbm-fx-waves{from{background-position:0% 20%}to{background-position:100% 80%}}
.lbm-fx-bokeh .lbm-fx-piece{display:block;width:calc(var(--fx-size) * 2);height:calc(var(--fx-size) * 2);border-radius:50%;border:1px solid #b8874277;background:radial-gradient(circle at 35% 30%,#fff9dfdd,#d5a25077 50%,#c28a3033 70%,transparent 73%);box-shadow:0 0 16px #e2bb6f88;animation-name:lbm-fx-bokeh;animation-direction:alternate}
@keyframes lbm-fx-bokeh{from{opacity:.25;transform:translate(-12px,25px) scale(.7)}to{opacity:.9;transform:translate(18px,-30px) scale(1.2)}}
.lbm-fx-confetti .lbm-fx-piece{display:block;width:7px;height:16px;border-radius:2px;background:var(--fx-color);animation-name:lbm-fx-confetti;animation-timing-function:linear;box-shadow:1px 2px 3px #59402230}
@keyframes lbm-fx-confetti{0%{top:-12%;opacity:0;transform:translateX(-15px) rotate(var(--fx-turn))}10%,90%{opacity:.85}50%{transform:translateX(25px) rotate(calc(var(--fx-turn) + 180deg))}100%{top:112%;opacity:0;transform:translateX(-15px) rotate(calc(var(--fx-turn) + 360deg))}}
.lbm-fx-leaves .lbm-fx-piece{display:block;background:url('../img/effects/leaf.svg') center/contain no-repeat;filter:drop-shadow(1px 2px 2px #6e3a242f);animation-name:lbm-fx-leaves;animation-timing-function:linear}
@keyframes lbm-fx-leaves{0%{top:-12%;opacity:0;transform:translateX(0) rotate(var(--fx-turn))}12%,88%{opacity:.9}35%{transform:translateX(25px) rotate(calc(var(--fx-turn) + 50deg))}65%{transform:translateX(-20px) rotate(calc(var(--fx-turn) - 20deg))}100%{top:112%;opacity:0;transform:translateX(15px) rotate(calc(var(--fx-turn) + 80deg))}}
.lbm-fx-snow .lbm-fx-piece{display:block;background:url('../img/effects/snow.svg') center/contain no-repeat;filter:drop-shadow(0 0 3px #fff);animation-name:lbm-fx-snow;animation-timing-function:linear}
@keyframes lbm-fx-snow{0%{top:-10%;opacity:0;transform:translateX(-12px) rotate(0)}10%,90%{opacity:.85}50%{transform:translateX(15px) rotate(90deg)}100%{top:110%;opacity:0;transform:translateX(-12px) rotate(180deg)}}
.lbm-fx-rays .lbm-campaign-effect:before{content:"";position:absolute;width:220%;height:280%;left:-90%;top:-90%;background:repeating-conic-gradient(from 0deg at 50% 50%,#d9aa5266 0deg 7deg,transparent 8deg 22deg);animation:lbm-fx-rays calc(var(--lbm-effect-duration,8s) * 5) linear infinite;transform-origin:center;opacity:.8}
@keyframes lbm-fx-rays{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.lbm-fx-aurora .lbm-campaign-effect:before,.lbm-fx-aurora .lbm-campaign-effect:after{content:"";position:absolute;width:75%;height:150%;top:-25%;left:-30%;border-radius:50%;background:radial-gradient(ellipse,#55998e99,transparent 67%);filter:blur(18px);animation:lbm-fx-aurora var(--lbm-effect-duration,8s) ease-in-out infinite alternate}.lbm-fx-aurora .lbm-campaign-effect:after{left:55%;background:radial-gradient(ellipse,#c9914699,transparent 67%);animation-direction:alternate-reverse;animation-delay:-2s}
@keyframes lbm-fx-aurora{from{transform:translate(-10%,15%) rotate(-18deg);opacity:.5}to{transform:translate(40%,-10%) rotate(18deg);opacity:1}}
/* Preview uses exactly the same decoration and settings as the public banner. */
.lbmc .lbmc-live-preview.lbm-campaign-section{margin:20px 0 0;min-height:320px;padding:0;background-position:center;background-size:cover}.lbmc .lbmc-live-preview .lbm-campaign-copy{padding:30px 18px}.lbmc .lbmc-live-preview .lbm-campaign-copy h3{font:400 28px/1.25 Georgia,serif;margin:18px 0;color:#193e40}.lbmc .lbmc-live-preview .lbm-campaign-copy p{font:16px/1.6 Arial,sans-serif}.lbmc .lbmc-live-preview .lbm-campaign-copy .lbm-preview-button{display:inline-block;padding:12px 18px;background:var(--lbm-campaign-accent,#193f42);color:var(--lbm-campaign-ink,#fff);border-radius:7px}.lbmc .lbmc-effect-note{font-size:13px;line-height:1.5;color:#536967}
@media(max-width:767px){.lbm-campaign-effect .lbm-fx-piece:nth-child(n+13){display:none}.lbm-fx-bokeh .lbm-fx-piece{width:calc(var(--fx-size) * 1.5);height:calc(var(--fx-size) * 1.5)}}
@media(prefers-reduced-motion:reduce){.lbm-campaign-section .lbm-campaign-effect,.lbm-campaign-section .lbm-campaign-effect *,.lbm-campaign-section .lbm-campaign-effect:before,.lbm-campaign-section .lbm-campaign-effect:after{animation:none!important;transition:none!important;will-change:auto}.lbm-campaign-section .lbm-campaign-effect{display:none!important}}
