.elementor-6542 .elementor-element.elementor-element-b17f7a6{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-6542 .elementor-element.elementor-element-061301a{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}body.elementor-page-6542:not(.elementor-motion-effects-element-type-background), body.elementor-page-6542 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFF9F1;}/* Start custom CSS *//* ══════════════════════════════════
   FIESTA FLORAL – BIBLIOTECA DE ANIMACIONES
   Pega esto en CSS Adicional de WordPress/Elementor
   ══════════════════════════════════ */

/* ── DELAYS ── */
.ff-delay-1{animation-delay:.1s!important}
.ff-delay-2{animation-delay:.3s!important}
.ff-delay-3{animation-delay:.5s!important}
.ff-delay-4{animation-delay:.8s!important}
.ff-delay-5{animation-delay:1.1s!important}

/* ══ ENCABEZADOS ══ */
.ff-h-reveal{animation:ffH-reveal 1s cubic-bezier(.16,1,.3,1) both;display:inline-block}
@keyframes ffH-reveal{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}

.ff-h-shimmer{background:linear-gradient(110deg,#c8a060 0%,#f0d090 30%,#c8a060 40%,#f5e0b0 50%,#c8a060 60%,#f0d090 80%,#c8a060 100%);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:ffH-shimmer 3s linear infinite;display:inline-block}
@keyframes ffH-shimmer{from{background-position:200% center}to{background-position:-200% center}}

.ff-h-glitch{position:relative;display:inline-block;animation:ffH-glitch-base 5s ease-in-out infinite}
.ff-h-glitch::before,.ff-h-glitch::after{content:attr(data-text);position:absolute;inset:0}
.ff-h-glitch::before{-webkit-text-fill-color:rgba(245,184,200,.6);clip-path:polygon(0 0,100% 0,100% 45%,0 45%);animation:ffH-glitch-1 5s ease-in-out infinite}
.ff-h-glitch::after{-webkit-text-fill-color:rgba(200,160,96,.5);clip-path:polygon(0 55%,100% 55%,100% 100%,0 100%);animation:ffH-glitch-2 5s ease-in-out infinite}
@keyframes ffH-glitch-base{0%,94%,100%{transform:none}95%{transform:skewX(-1deg)}97%{transform:skewX(1deg)}}
@keyframes ffH-glitch-1{0%,94%,100%{transform:none;opacity:0}95%{transform:translate(-2px,-1px);opacity:1}97%{transform:translate(2px,1px);opacity:0}}
@keyframes ffH-glitch-2{0%,94%,100%{transform:none;opacity:0}95%{transform:translate(2px,1px);opacity:1}97%{transform:translate(-2px,-1px);opacity:0}}

.ff-h-type{display:inline-block;overflow:hidden;white-space:nowrap;border-right:2px solid #c8a060;width:0;animation:ffH-type 2s steps(20,end) .5s forwards,ffH-blink .8s step-end infinite}
@keyframes ffH-type{to{width:100%}}
@keyframes ffH-blink{0%,100%{border-color:#c8a060}50%{border-color:transparent}}

.ff-h-float{display:inline-block;animation:ffH-float 3s ease-in-out infinite,ffH-glow 3s ease-in-out infinite}
@keyframes ffH-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes ffH-glow{0%,100%{text-shadow:0 0 10px rgba(200,160,96,.2)}50%{text-shadow:0 0 30px rgba(200,160,96,.7),0 0 60px rgba(245,184,200,.3)}}

/* ══ SEPARADORES ══ */
.ff-sep-expand{animation:ffS-expand 1.2s cubic-bezier(.16,1,.3,1) both;transform-origin:center}
@keyframes ffS-expand{from{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}

.ff-sep-pulse{animation:ffS-pulse 2.5s ease-in-out infinite}
@keyframes ffS-pulse{0%,100%{filter:brightness(1) drop-shadow(0 0 0px transparent)}50%{filter:brightness(1.4) drop-shadow(0 2px 8px rgba(200,160,96,.8))}}

.ff-sep-spin{animation:ffS-spin .8s cubic-bezier(.34,1.56,.64,1) both}
@keyframes ffS-spin{from{transform:rotate(-180deg) scale(0);opacity:0}to{transform:rotate(0deg) scale(1);opacity:1}}

.ff-sep-slide{animation:ffS-slide 1s ease both}
@keyframes ffS-slide{from{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}

.ff-sep-dance{animation:ffS-dance 4s ease-in-out infinite;display:inline-block}
@keyframes ffS-dance{0%,100%{transform:translateY(0) scale(1)}25%{transform:translateY(-4px) scale(1.05)}75%{transform:translateY(2px) scale(.97)}}

/* ══ ICONOS ══ */
.ff-icon-drop{animation:ffI-drop .9s cubic-bezier(.34,1.56,.64,1) both;display:inline-block}
@keyframes ffI-drop{from{transform:translateY(-50px) scale(.5);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}

.ff-icon-royal{display:inline-block;animation:ffI-royal 2.5s ease-in-out infinite;filter:drop-shadow(0 0 0px transparent)}
@keyframes ffI-royal{0%,100%{filter:drop-shadow(0 0 0px transparent) brightness(1);transform:scale(1)}50%{filter:drop-shadow(0 2px 12px rgba(200,160,96,.9)) brightness(1.3);transform:scale(1.1)}}

.ff-icon-wiggle{display:inline-block;animation:ffI-wiggle 3s ease-in-out infinite}
@keyframes ffI-wiggle{0%,100%{transform:rotate(0deg)}20%{transform:rotate(-12deg)}40%{transform:rotate(10deg)}60%{transform:rotate(-6deg)}80%{transform:rotate(4deg)}}

.ff-icon-pop{display:inline-block;animation:ffI-pop 2s cubic-bezier(.34,1.56,.64,1) infinite}
@keyframes ffI-pop{0%,100%{transform:scale(1)}50%{transform:scale(1.25)}}

.ff-icon-ring{display:inline-block;position:relative;animation:ffI-drop .9s cubic-bezier(.34,1.56,.64,1) both}
.ff-icon-ring::after{content:'';position:absolute;inset:-6px;border-radius:50%;border:2px solid rgba(200,160,96,.6);animation:ffI-ring 2s ease-out infinite}
@keyframes ffI-ring{0%{transform:scale(.8);opacity:1}100%{transform:scale(1.8);opacity:0}}

/* ══ TEXTOS ══ */
.ff-text-fade{animation:ffT-fade 1.2s ease both}
@keyframes ffT-fade{from{opacity:0}to{opacity:1}}

.ff-text-blur{animation:ffT-blur 1s ease both}
@keyframes ffT-blur{from{opacity:0;transform:translateY(20px);filter:blur(6px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}

.ff-text-letters{animation:ffT-letters 1.4s ease both;display:inline-block}
@keyframes ffT-letters{from{opacity:0;letter-spacing:.5em}to{opacity:1;letter-spacing:inherit}}

.ff-text-clip{animation:ffT-clip .9s cubic-bezier(.16,1,.3,1) both;clip-path:inset(0 0 100% 0)}
@keyframes ffT-clip{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0% 0)}}

.ff-text-words span{opacity:0;animation:ffT-word .5s ease forwards}
@keyframes ffT-word{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* ══ BOTONES ══ */
.ff-btn-shimmer{position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s}
.ff-btn-shimmer::before{content:'';position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.25),transparent);transition:left .5s ease}
.ff-btn-shimmer:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(139,26,58,.4)}
.ff-btn-shimmer:hover::before{left:160%}

.ff-btn-magnetic{transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .3s}
.ff-btn-magnetic:hover{transform:scale(1.08);box-shadow:0 10px 30px rgba(139,26,58,.45)}
.ff-btn-magnetic:active{transform:scale(.96)}

.ff-btn-border{background:transparent!important;border:2px solid currentColor;position:relative;overflow:hidden;transition:color .4s}
.ff-btn-border::before{content:'';position:absolute;inset:0;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.16,1,.3,1);z-index:-1}
.ff-btn-border:hover::before{transform:scaleX(1)}

.ff-btn-ripple{position:relative;overflow:hidden;animation:ffB-pulse-ring 2.5s ease-in-out infinite;transition:transform .2s}
.ff-btn-ripple:hover{transform:translateY(-2px)}
@keyframes ffB-pulse-ring{0%{box-shadow:0 0 0 0 rgba(139,26,58,.4)}70%{box-shadow:0 0 0 16px rgba(139,26,58,0)}100%{box-shadow:0 0 0 0 rgba(139,26,58,0)}}

.ff-btn-gold{background:linear-gradient(135deg,#c8a060,#f0d090,#c8a060)!important;background-size:200% 100%!important;color:#3a1a0a!important;transition:background-position .5s,transform .3s,box-shadow .3s}
.ff-btn-gold:hover{background-position:100% 0!important;transform:translateY(-3px);box-shadow:0 12px 28px rgba(200,160,96,.5)}/* End custom CSS */