/* ===== АНИМАЦИИ ===== */
.ewpkcl-animated {
    animation-duration: 0.6s;
    animation-fill-mode: both;
}

.ewpkcl-fadeIn { animation-name: ewpkclFadeIn; }
@keyframes ewpkclFadeIn { from { opacity: 0; } to { opacity: 1; } }

.ewpkcl-slideDown { animation-name: ewpkclSlideDown; }
@keyframes ewpkclSlideDown { from { opacity: 0; transform: translateY(-20px); } to { opacity: 1; transform: translateY(0); } }

.ewpkcl-zoomIn { animation-name: ewpkclZoomIn; }
@keyframes ewpkclZoomIn { from { opacity: 0; transform: scale(0.9); } to { opacity: 1; transform: scale(1); } }

.ewpkcl-bounce { animation-name: ewpkclBounce; }
@keyframes ewpkclBounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }

.ewpkcl-pulse { animation-name: ewpkclPulse; }
@keyframes ewpkclPulse { 0% { transform: scale(1); } 50% { transform: scale(1.05); } 100% { transform: scale(1); } }

.ewpkcl-shake { animation-name: ewpkclShake; }
@keyframes ewpkclShake { 0%, 100% { transform: translateX(0); } 10%, 30%, 50%, 70%, 90% { transform: translateX(-5px); } 20%, 40%, 60%, 80% { transform: translateX(5px); } }

.ewpkcl-swing { animation-name: ewpkclSwing; transform-origin: top center; }
@keyframes ewpkclSwing { 20% { transform: rotate(15deg); } 40% { transform: rotate(-10deg); } 60% { transform: rotate(5deg); } 80% { transform: rotate(-5deg); } 100% { transform: rotate(0deg); } }

.ewpkcl-tada { animation-name: ewpkclTada; }
@keyframes ewpkclTada { 0% { transform: scale(1); } 10%, 20% { transform: scale(0.9) rotate(-3deg); } 30%, 50%, 70%, 90% { transform: scale(1.1) rotate(3deg); } 40%, 60%, 80% { transform: scale(1.1) rotate(-3deg); } 100% { transform: scale(1) rotate(0); } }

.ewpkcl-wobble { animation-name: ewpkclWobble; }
@keyframes ewpkclWobble { 0% { transform: translateX(0%); } 15% { transform: translateX(-25%) rotate(-5deg); } 30% { transform: translateX(20%) rotate(3deg); } 45% { transform: translateX(-15%) rotate(-3deg); } 60% { transform: translateX(10%) rotate(2deg); } 75% { transform: translateX(-5%) rotate(-1deg); } 100% { transform: translateX(0%); } }

.ewpkcl-flip { animation-name: ewpkclFlip; backface-visibility: visible; }
@keyframes ewpkclFlip { 0% { transform: perspective(400px) rotateY(0); animation-timing-function: ease-out; } 40% { transform: perspective(400px) translateZ(150px) rotateY(170deg); animation-timing-function: ease-out; } 50% { transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1); animation-timing-function: ease-in; } 80% { transform: perspective(400px) rotateY(360deg) scale(0.95); animation-timing-function: ease-in; } 100% { transform: perspective(400px) scale(1); animation-timing-function: ease-in; } }

.ewpkcl-flash { animation-name: ewpkclFlash; }
@keyframes ewpkclFlash { 0%, 50%, 100% { opacity: 1; } 25%, 75% { opacity: 0; } }

.ewpkcl-jello { animation-name: ewpkclJello; transform-origin: center; }
@keyframes ewpkclJello { 0%, 11.1%, 100% { transform: none; } 22.2% { transform: skewX(-12.5deg) skewY(-12.5deg); } 33.3% { transform: skewX(6.25deg) skewY(6.25deg); } 44.4% { transform: skewX(-3.125deg) skewY(-3.125deg); } 55.5% { transform: skewX(1.5625deg) skewY(1.5625deg); } 66.6% { transform: skewX(-0.78125deg) skewY(-0.78125deg); } 77.7% { transform: skewX(0.390625deg) skewY(0.390625deg); } 88.8% { transform: skewX(-0.1953125deg) skewY(-0.1953125deg); } }

.ewpkcl-hinge { animation-name: ewpkclHinge; }
@keyframes ewpkclHinge { 0% { transform: rotate(0); transform-origin: top left; animation-timing-function: ease-in-out; } 20%, 60% { transform: rotate(80deg); transform-origin: top left; animation-timing-function: ease-in-out; } 40% { transform: rotate(60deg); transform-origin: top left; animation-timing-function: ease-in-out; } 80% { transform: rotate(60deg) translateY(0); opacity: 1; transform-origin: top left; animation-timing-function: ease-in-out; } 100% { transform: translateY(700px); opacity: 0; } }

.ewpkcl-lightSpeedIn { animation-name: ewpkclLightSpeedIn; animation-timing-function: ease-out; }
@keyframes ewpkclLightSpeedIn { 0% { transform: translateX(100%) skewX(-30deg); opacity: 0; } 60% { transform: translateX(-20%) skewX(30deg); opacity: 1; } 80% { transform: translateX(0%) skewX(-15deg); opacity: 1; } 100% { transform: translateX(0%) skewX(0deg); opacity: 1; } }

.ewpkcl-rotateIn { animation-name: ewpkclRotateIn; }
@keyframes ewpkclRotateIn { 0% { transform-origin: center; transform: rotate(-200deg); opacity: 0; } 100% { transform-origin: center; transform: rotate(0); opacity: 1; } }

.ewpkcl-rollIn { animation-name: ewpkclRollIn; }
@keyframes ewpkclRollIn { 0% { opacity: 0; transform: translateX(-100%) rotate(-120deg); } 100% { opacity: 1; transform: translateX(0) rotate(0); } }

/* ===== ПРЕСЕТЫ ===== */
.ewpkcl-preset-glass { background: rgba(255,255,255,0.2) !important; backdrop-filter: blur(10px); border: 1px solid rgba(255,255,255,0.3); border-radius: 16px; }
.ewpkcl-preset-dark { background: #1e1e1e !important; color: #f0f0f0 !important; border: 1px solid #333; }
.ewpkcl-preset-minimal { background: #fff !important; border: 1px solid #e0e0e0; box-shadow: none !important; }
.ewpkcl-preset-neon { background: #0d0d0d !important; color: #39ff14 !important; border: 2px solid #39ff14; text-shadow: 0 0 5px #39ff14; box-shadow: 0 0 15px rgba(57,255,20,0.5); }
.ewpkcl-preset-card { background: #fff; border-radius: 12px; box-shadow: 0 4px 12px rgba(0,0,0,0.1); padding: 20px; }
.ewpkcl-preset-outline { background: transparent !important; border: 2px solid #ccc; border-radius: 8px; }
.ewpkcl-preset-elegant { background: #2b2b2b; color: #d4af37 !important; border: 1px solid #d4af37; font-family: Georgia, serif; }
.ewpkcl-preset-brutalist { background: #ffeb3b !important; color: #000 !important; border: 4px solid #000; border-radius: 0; box-shadow: 8px 8px 0 #000; }
.ewpkcl-preset-paper { background: #fdf6e3 !important; color: #586e75 !important; border: 1px solid #eee8d5; box-shadow: 0 2px 5px rgba(0,0,0,0.1); font-family: "Courier New", monospace; }
.ewpkcl-preset-gradient-border { background: #fff; border: 3px solid transparent; border-image: linear-gradient(45deg, #ff6b6b, #4ecdc4) 1; border-radius: 12px; }
.ewpkcl-preset-floating { background: #fff; border-radius: 16px; box-shadow: 0 20px 40px rgba(0,0,0,0.15); transform: translateY(0); transition: transform 0.3s ease; }
.ewpkcl-preset-floating:hover { transform: translateY(-5px); }
.ewpkcl-preset-retro-wave { background: linear-gradient(180deg, #0f0c29, #302b63, #24243e); color: #fff !important; border: 1px solid #ff00ff; box-shadow: 0 0 20px rgba(255,0,255,0.3); }

/* ===== HOVER EFFECTS ===== */
.ewpkcl-btn-hover-glow .ewpkcl-locker-button:hover { box-shadow: 0 0 15px currentColor; }
.ewpkcl-btn-hover-underline .ewpkcl-locker-button { position: relative; }
.ewpkcl-btn-hover-underline .ewpkcl-locker-button::after { content: ''; position: absolute; bottom: 5px; left: 50%; width: 0; height: 2px; background: currentColor; transition: all 0.3s; transform: translateX(-50%); }
.ewpkcl-btn-hover-underline .ewpkcl-locker-button:hover::after { width: 60%; }
.ewpkcl-btn-hover-fill .ewpkcl-locker-button { transition: background 0.3s, color 0.3s; }
.ewpkcl-btn-hover-fill .ewpkcl-locker-button:hover { background: #fff !important; color: #000 !important; }
.ewpkcl-btn-hover-shake-btn .ewpkcl-locker-button:hover { animation: ewpkclShake 0.5s; }

/* ===== ДРУГОЕ ===== */
.ewpkcl-btn-icon { vertical-align: middle; margin-right: 5px; font-size: inherit; width: auto; height: auto; }
.ewpkcl-btn-scale .ewpkcl-locker-button { transition: transform 0.2s ease; }
.ewpkcl-btn-scale .ewpkcl-locker-button:hover { transform: scale(var(--ewpkcl-btn-scale, 1.05)); }
.ewpkcl-btn-full-width .ewpkcl-locker-button { display: block; width: 100%; text-align: center; }

@media (max-width: 768px) {
    .ewpkcl-hide-cover-mobile img { display: none !important; }
}