/* Amazing Buttons Pro - Frontend Styles */

.abp-button-wrapper {
    display: inline-block;
    overflow: visible;
    margin: 8px 20px 8px 20px;
    padding: 2px;
    vertical-align: middle;
    box-sizing: border-box;
}

.abp-button {
    display: inline-block;
    padding: 12px 30px;
    font-size: 16px;
    font-weight: 500;
    text-decoration: none;
    border: none;
    cursor: pointer;
    position: relative;
    overflow: visible;
    transition: all 0.3s ease;
    text-align: center;
    line-height: 1.5;
    box-sizing: border-box;
    vertical-align: middle;
}

/* For effects that need overflow hidden (ripple, shine, etc), use a pseudo element */
.abp-button::before,
.abp-button::after {
    overflow: visible;
}

.abp-button-text {
    position: relative;
    z-index: 2;
}

/* ============================================
   BUTTON STYLES (1-60)
   ============================================ */

/* Style 1 - Modern Gradient */
.abp-style-1 {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: #fff;
    border-radius: 6px;
    box-shadow: 0 4px 15px rgba(102, 126, 234, 0.4);
}

/* Style 2 - Bold Solid */
.abp-style-2 {
    background: #ff6b6b;
    color: #fff;
    border-radius: 50px;
    font-weight: 600;
    letter-spacing: 1px;
}

/* Style 3 - Outlined */
.abp-style-3 {
    background: transparent;
    color: #3498db;
    border: 2px solid #3498db;
    border-radius: 4px;
}

/* Style 4 - Minimal */
.abp-style-4 {
    background: #f8f9fa;
    color: #212529;
    border: 1px solid #dee2e6;
    border-radius: 2px;
}

/* Style 5 - 3D Effect */
.abp-style-5 {
    background: #4CAF50;
    color: #fff;
    border-radius: 8px;
    box-shadow: 0 6px 0 #388e3c, 0 8px 16px rgba(0,0,0,0.2);
    transform: translateY(0);
}

/* Style 6 - Rounded with Shadow */
.abp-style-6 {
    background: #ff9800;
    color: #fff;
    border-radius: 30px;
    box-shadow: 0 10px 20px rgba(255, 152, 0, 0.3);
}

/* Style 7 - Double Border */
.abp-style-7 {
    background: transparent;
    color: #e91e63;
    border: 3px double #e91e63;
    border-radius: 0;
}

/* Style 8 - Dotted Border */
.abp-style-8 {
    background: #fff;
    color: #9c27b0;
    border: 2px dotted #9c27b0;
    border-radius: 4px;
}

/* Style 9 - Dashed Border */
.abp-style-9 {
    background: #fff;
    color: #00bcd4;
    border: 2px dashed #00bcd4;
    border-radius: 8px;
}

/* Style 10 - Raised */
.abp-style-10 {
    background: #2196F3;
    color: #fff;
    border-radius: 4px;
    box-shadow: 0 3px 5px rgba(0,0,0,0.2);
}

/* Style 11 - Flat */
.abp-style-11 {
    background: #607d8b;
    color: #fff;
    border-radius: 2px;
    box-shadow: none;
}

/* Style 12 - Shiny */
.abp-style-12 {
    background: linear-gradient(45deg, #f093fb 0%, #f5576c 100%);
    color: #fff;
    border-radius: 50px;
    position: relative;
    overflow: hidden;
}

/* Style 13 - Glass Effect */
.abp-style-13 {
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 8px;
    backdrop-filter: blur(10px);
    background: linear-gradient(135deg, rgba(255,255,255,0.1), rgba(255,255,255,0));
}

/* Style 14 - Metallic */
.abp-style-14 {
    background: linear-gradient(145deg, #d4d4d4, #f0f0f0);
    color: #333;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

/* Style 15 - Neon */
.abp-style-15 {
    background: #000;
    color: #0ff;
    border: 2px solid #0ff;
    border-radius: 4px;
    box-shadow: 0 0 10px #0ff, 0 0 20px #0ff;
}

/* Style 16 - Vintage */
.abp-style-16 {
    background: #8b4513;
    color: #f4a460;
    border: 2px solid #654321;
    border-radius: 4px;
    font-family: serif;
}

/* Style 17 - Elegant */
.abp-style-17 {
    background: #2c3e50;
    color: #ecf0f1;
    border-radius: 0;
    letter-spacing: 2px;
    font-weight: 300;
}

/* Style 18 - Playful */
.abp-style-18 {
    background: #ff6b9d;
    color: #fff;
    border-radius: 20px;
    transform: rotate(-2deg);
}

/* Style 19 - Professional */
.abp-style-19 {
    background: #34495e;
    color: #fff;
    border-radius: 3px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-size: 14px;
}

/* Style 20 - Soft Gradient */
.abp-style-20 {
    background: linear-gradient(135deg, #a8edea 0%, #fed6e3 100%);
    color: #333;
    border-radius: 50px;
}

/* Style 21 - Dark Modern */
.abp-style-21 {
    background: #1a1a1a;
    color: #fff;
    border: 1px solid #333;
    border-radius: 6px;
}

/* Style 22 - Bright */
.abp-style-22 {
    background: #ffeb3b;
    color: #000;
    border-radius: 50px;
    font-weight: 600;
}

/* Style 23 - Ocean */
.abp-style-23 {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: #fff;
    border-radius: 8px;
}

/* Style 24 - Fire */
.abp-style-24 {
    background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
    color: #fff;
    border-radius: 50px;
}

/* Style 25 - Forest */
.abp-style-25 {
    background: #27ae60;
    color: #fff;
    border-radius: 6px;
    box-shadow: 0 4px 6px rgba(39, 174, 96, 0.3);
}

/* Style 26 - Sky */
.abp-style-26 {
    background: linear-gradient(135deg, #74b9ff 0%, #0984e3 100%);
    color: #fff;
    border-radius: 50px;
}

/* Style 27 - Sunset */
.abp-style-27 {
    background: linear-gradient(135deg, #ff7675 0%, #fd79a8 100%);
    color: #fff;
    border-radius: 8px;
}

/* Style 28 - Minimalist */
.abp-style-28 {
    background: #fff;
    color: #2d3436;
    border: 1px solid #ddd;
    border-radius: 2px;
    font-weight: 400;
}

/* Style 29 - Bold Typography */
.abp-style-29 {
    background: #000;
    color: #fff;
    border-radius: 0;
    font-weight: 700;
    font-size: 18px;
    letter-spacing: 3px;
}

/* Style 30 - Pastel */
.abp-style-30 {
    background: #ffeaa7;
    color: #2d3436;
    border-radius: 50px;
}

/* Style 31 - Corporate */
.abp-style-31 {
    background: #2c3e50;
    color: #ecf0f1;
    border-radius: 4px;
    font-weight: 500;
}

/* Style 32 - Creative */
.abp-style-32 {
    background: linear-gradient(45deg, #667eea, #764ba2, #f093fb, #f5576c);
    background-size: 400% 400%;
    color: #fff;
    border-radius: 50px;
    animation: abp-gradient-shift 3s ease infinite;
}

@keyframes abp-gradient-shift {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

/* Style 33 - Luxury */
.abp-style-33 {
    background: #c9b037;
    color: #fff;
    border: 2px solid #d4af37;
    border-radius: 4px;
    box-shadow: 0 4px 8px rgba(201, 176, 55, 0.3);
}

/* Style 34 - Tech */
.abp-style-34 {
    background: #0a0a0a;
    color: #00ff00;
    border: 1px solid #00ff00;
    border-radius: 4px;
    font-family: monospace;
}

/* Style 35 - Nature */
.abp-style-35 {
    background: #55a3ff;
    color: #fff;
    border-radius: 50px;
}

/* Style 36 - Energy */
.abp-style-36 {
    background: #fdc830;
    color: #000;
    border-radius: 8px;
    font-weight: 700;
}

/* Style 37 - Calm */
.abp-style-37 {
    background: #a8e6cf;
    color: #2d3436;
    border-radius: 50px;
}

/* Style 38 - Powerful */
.abp-style-38 {
    background: #dc3545;
    color: #fff;
    border-radius: 4px;
    font-weight: 700;
    text-transform: uppercase;
}

/* Style 39 - Friendly */
.abp-style-39 {
    background: #28a745;
    color: #fff;
    border-radius: 50px;
    box-shadow: 0 4px 6px rgba(40, 167, 69, 0.3);
}

/* Style 40 - Sophisticated */
.abp-style-40 {
    background: #6c757d;
    color: #fff;
    border-radius: 2px;
    font-weight: 300;
    letter-spacing: 2px;
}

/* Style 41 - Vibrant */
.abp-style-41 {
    background: linear-gradient(135deg, #ff9a9e 0%, #fecfef 100%);
    color: #2d3436;
    border-radius: 50px;
}

/* Style 42 - Earth */
.abp-style-42 {
    background: #8b6914;
    color: #fff;
    border-radius: 4px;
}

/* Style 43 - Air */
.abp-style-43 {
    background: #e0f2f1;
    color: #00695c;
    border: 1px solid #b2dfdb;
    border-radius: 50px;
}

/* Style 44 - Water */
.abp-style-44 {
    background: linear-gradient(135deg, #89f7fe 0%, #66a6ff 100%);
    color: #fff;
    border-radius: 8px;
}

/* Style 45 - Fire Element */
.abp-style-45 {
    background: linear-gradient(135deg, #ff6a00 0%, #ee0979 100%);
    color: #fff;
    border-radius: 50px;
}

/* Style 46 - Ice */
.abp-style-46 {
    background: linear-gradient(135deg, #e0c3fc 0%, #8ec5fc 100%);
    color: #fff;
    border-radius: 8px;
}

/* Style 47 - Storm */
.abp-style-47 {
    background: #434343;
    color: #fff;
    border-radius: 4px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}

/* Style 48 - Sunshine */
.abp-style-48 {
    background: #ffd700;
    color: #000;
    border-radius: 50px;
    font-weight: 600;
}

/* Style 49 - Midnight */
.abp-style-49 {
    background: #191970;
    color: #fff;
    border-radius: 4px;
}

/* Style 50 - Dawn */
.abp-style-50 {
    background: linear-gradient(135deg, #ffecd2 0%, #fcb69f 100%);
    color: #333;
    border-radius: 50px;
}

/* Style 51 - Royal */
.abp-style-51 {
    background: #4b0082;
    color: #fff;
    border: 2px solid #9370db;
    border-radius: 4px;
}

/* Style 52 - Fresh */
.abp-style-52 {
    background: #00ced1;
    color: #fff;
    border-radius: 50px;
}

/* Style 53 - Warm */
.abp-style-53 {
    background: #ff8c00;
    color: #fff;
    border-radius: 8px;
}

/* Style 54 - Cool */
.abp-style-54 {
    background: #00bfff;
    color: #fff;
    border-radius: 50px;
}

/* Style 55 - Hot */
.abp-style-55 {
    background: #ff1493;
    color: #fff;
    border-radius: 50px;
    font-weight: 600;
}

/* Style 56 - Chill */
.abp-style-56 {
    background: #87ceeb;
    color: #fff;
    border-radius: 8px;
}

/* Style 57 - Bold Blue */
.abp-style-57 {
    background: #1e90ff;
    color: #fff;
    border-radius: 4px;
    box-shadow: 0 4px 6px rgba(30, 144, 255, 0.3);
}

/* Style 58 - Bold Red */
.abp-style-58 {
    background: #dc143c;
    color: #fff;
    border-radius: 50px;
    font-weight: 600;
}

/* Style 59 - Bold Green */
.abp-style-59 {
    background: #32cd32;
    color: #fff;
    border-radius: 8px;
}

/* Style 60 - Bold Purple */
.abp-style-60 {
    background: #9370db;
    color: #fff;
    border-radius: 50px;
    box-shadow: 0 4px 8px rgba(147, 112, 219, 0.4);
}

/* Style 61 - Chrome Metallic */
.abp-style-61 {
    background: linear-gradient(180deg, #dfe4ea, #c7cbd1 50%, #9ea3a8 50%, #d1d4da);
    box-shadow: inset 0 2px 1px #fff, inset 0 -2px 1px #666, 0 6px 12px rgba(0,0,0,0.4);
    color: #333;
    text-shadow: 0 1px 0 #fff;
    border-radius: 6px;
}

/* Style 62 - Glossy Blue */
.abp-style-62 {
    background: linear-gradient(to bottom, #4facfe, #00f2fe);
    box-shadow: inset 0 2px 3px rgba(255,255,255,.5), 0 6px 12px rgba(0,0,0,.4);
    border-top: 1px solid rgba(255,255,255,.7);
    border-radius: 6px;
    color: #fff;
    position: relative;
}

.abp-style-62::after {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 50%;
    background: linear-gradient(to bottom, rgba(255,255,255,0.8), transparent);
    border-radius: 6px 6px 0 0;
    pointer-events: none;
}

/* Style 63 - Lux Gold */
.abp-style-63 {
    background: linear-gradient(145deg, #ffcc00, #ffb300);
    box-shadow: inset 0 2px 3px #fff7cc, 0 4px 10px rgba(0,0,0,.5);
    color: #3d3200;
    text-shadow: 0 1px 1px rgba(255,255,255,0.6);
    border-radius: 6px;
    font-weight: 600;
}

/* Style 64 - Ruby Gem */
.abp-style-64 {
    background: radial-gradient(circle at 30% 30%, #ff3e3e, #a00000 80%);
    box-shadow: inset 0 1px 2px rgba(255,255,255,.5), 0 6px 10px rgba(0,0,0,.6);
    color: #fff;
    border-radius: 8px;
    text-shadow: 0 1px 2px rgba(0,0,0,0.3);
}

/* Style 65 - Emerald Glass */
.abp-style-65 {
    background: radial-gradient(circle at 30% 30%, #00c853, #006d32);
    box-shadow: inset 0 2px 3px rgba(255,255,255,.3), 0 4px 10px rgba(0,0,0,.6);
    color: #fff;
    border-radius: 8px;
    position: relative;
}

.abp-style-65::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(255,255,255,.25) 0%, transparent 50%);
    border-radius: 8px;
    pointer-events: none;
}

/* Style 66 - Soft Leather */
.abp-style-66 {
    background: linear-gradient(145deg, #7b5e57, #543b34);
    box-shadow: inset 0 1px 1px rgba(255,255,255,.2), 0 4px 10px rgba(0,0,0,.5);
    border: 1px solid #412d28;
    color: #e5dacd;
    border-radius: 6px;
    letter-spacing: 0.5px;
}

/* Style 67 - Frosted Ice */
.abp-style-67 {
    background: linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.15));
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255,255,255,0.4);
    color: #fff;
    text-shadow: 0 1px 2px rgba(0,0,0,0.4);
    box-shadow: 0 4px 15px rgba(255,255,255,0.1);
    border-radius: 8px;
}

/* Style 68 - Carbon Fiber */
.abp-style-68 {
    background: repeating-linear-gradient(45deg, #222 0, #222 3px, #2a2a2a 3px, #2a2a2a 6px);
    box-shadow: inset 0 1px 1px rgba(255,255,255,0.2), 0 4px 10px rgba(0,0,0,0.6);
    border: 1px solid #000;
    color: #00e0ff;
    text-shadow: 0 1px 2px #000;
    border-radius: 4px;
}

/* Style 69 - Candy Pink */
.abp-style-69 {
    background: linear-gradient(180deg, #ff85a1, #ff4b82);
    border-radius: 50px;
    box-shadow: inset 0 2px 3px rgba(255,255,255,0.5), 0 6px 12px rgba(255,75,130,0.6);
    color: #fff;
    position: relative;
}

.abp-style-69::before {
    content: '';
    position: absolute;
    top: 4px; left: 4px; right: 4px;
    height: 50%;
    background: rgba(255,255,255,0.6);
    border-radius: 50px;
    pointer-events: none;
}

/* Style 70 - Electric Neon */
.abp-style-70 {
    background: #000;
    color: #0ff;
    border: 2px solid #0ff;
    text-shadow: 0 0 5px #0ff, 0 0 10px #0ff;
    box-shadow: 0 0 10px #0ff, inset 0 0 10px #0ff;
    border-radius: 6px;
}

/* Style 71 - Platinum Silver */
.abp-style-71 {
    background: linear-gradient(180deg, #e8e8e8, #c0c0c0 50%, #a8a8a8 50%, #d0d0d0);
    box-shadow: inset 0 2px 2px rgba(255,255,255,0.8), inset 0 -2px 2px rgba(0,0,0,0.3), 0 4px 8px rgba(0,0,0,0.3);
    color: #2a2a2a;
    text-shadow: 0 1px 0 rgba(255,255,255,0.8);
    border-radius: 8px;
    font-weight: 600;
}

/* Style 72 - Deep Ocean */
.abp-style-72 {
    background: linear-gradient(135deg, #0a3d62, #1e5982, #2c7fb8);
    box-shadow: inset 0 2px 4px rgba(255,255,255,0.2), 0 6px 15px rgba(10, 61, 98, 0.5);
    color: #fff;
    border-radius: 8px;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
    position: relative;
}

.abp-style-72::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 40%;
    background: linear-gradient(to bottom, rgba(255,255,255,0.15), transparent);
    border-radius: 8px 8px 0 0;
    pointer-events: none;
}

/* Style 73 - Brushed Steel */
.abp-style-73 {
    background: linear-gradient(180deg, #bdc3c7, #95a5a6 50%, #7f8c8d 50%, #a0aeb0);
    box-shadow: inset 0 1px 2px rgba(255,255,255,0.9), inset 0 -1px 2px rgba(0,0,0,0.2), 0 5px 10px rgba(0,0,0,0.4);
    border: 1px solid rgba(0,0,0,0.1);
    color: #2c3e50;
    text-shadow: 0 1px 1px rgba(255,255,255,0.5);
    border-radius: 4px;
    background-size: 100% 200%;
    background-position: 0 -50%;
}

/* Style 74 - Sunset Gradient */
.abp-style-74 {
    background: linear-gradient(135deg, #ff6b6b, #ffa500, #ffd700);
    background-size: 200% 200%;
    animation: abp-sunset-shift 3s ease infinite;
    color: #fff;
    border-radius: 50px;
    box-shadow: 0 6px 20px rgba(255, 107, 107, 0.4);
    text-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

@keyframes abp-sunset-shift {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

/* Style 75 - Velvet Purple */
.abp-style-75 {
    background: linear-gradient(145deg, #6c5ce7, #5a4fcf, #4834d4);
    box-shadow: inset 0 2px 4px rgba(255,255,255,0.15), 0 8px 20px rgba(108, 92, 231, 0.5);
    color: #fff;
    border-radius: 8px;
    text-shadow: 0 1px 3px rgba(0,0,0,0.3);
    position: relative;
}

.abp-style-75::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.1), transparent 60%);
    border-radius: 8px;
    pointer-events: none;
}

/* Style 76 - Cozy Wood */
.abp-style-76 {
    background: linear-gradient(145deg, #8b6f47, #6b4e37);
    box-shadow: inset 0 2px 4px rgba(139, 111, 71, 0.5), 0 5px 15px rgba(107, 78, 55, 0.6);
    border: 2px solid #5a3e2a;
    color: #f4e4bc;
    border-radius: 6px;
    text-shadow: 0 1px 2px rgba(0,0,0,0.5);
    letter-spacing: 0.5px;
}

/* Style 77 - Neon Pink */
.abp-style-77 {
    background: #000;
    color: #ff00ff;
    border: 2px solid #ff00ff;
    text-shadow: 0 0 8px #ff00ff, 0 0 15px #ff00ff;
    box-shadow: 0 0 15px #ff00ff, inset 0 0 15px #ff00ff;
    border-radius: 8px;
    font-weight: 600;
}

/* Style 78 - Pearl White */
.abp-style-78 {
    background: linear-gradient(180deg, #ffffff, #f0f0f0 50%, #e0e0e0 50%, #f5f5f5);
    box-shadow: inset 0 2px 3px rgba(255,255,255,0.9), inset 0 -2px 3px rgba(0,0,0,0.1), 0 4px 10px rgba(0,0,0,0.2);
    color: #333;
    text-shadow: 0 1px 1px rgba(255,255,255,0.9);
    border: 1px solid rgba(0,0,0,0.1);
    border-radius: 8px;
}

/* Style 79 - Matte Black */
.abp-style-79 {
    background: #1a1a1a;
    color: #fff;
    border: 2px solid #333;
    box-shadow: 0 4px 8px rgba(0,0,0,0.5), inset 0 1px 2px rgba(255,255,255,0.05);
    border-radius: 6px;
    text-shadow: 0 1px 2px rgba(0,0,0,0.8);
}

/* Style 80 - Ocean Blue */
.abp-style-80 {
    background: linear-gradient(135deg, #0077be, #00a8e8, #0077be);
    background-size: 200% 200%;
    animation: abp-ocean-flow 4s ease infinite;
    box-shadow: inset 0 2px 4px rgba(255,255,255,0.2), 0 6px 18px rgba(0, 119, 190, 0.5);
    color: #fff;
    border-radius: 50px;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

@keyframes abp-ocean-flow {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

/* Style 81 - Fire Orange */
.abp-style-81 {
    background: linear-gradient(135deg, #ff4500, #ff6347, #ff8c00);
    box-shadow: 0 6px 20px rgba(255, 69, 0, 0.6), inset 0 2px 4px rgba(255,255,255,0.2);
    color: #fff;
    border-radius: 8px;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
    position: relative;
}

.abp-style-81::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 50%;
    background: linear-gradient(to bottom, rgba(255,255,255,0.3), transparent);
    border-radius: 8px 8px 0 0;
    pointer-events: none;
}

/* Style 82 - Jade Green */
.abp-style-82 {
    background: radial-gradient(circle at 30% 30%, #00d9a5, #00a67e 80%);
    box-shadow: inset 0 2px 4px rgba(255,255,255,0.25), 0 6px 15px rgba(0, 217, 165, 0.5);
    color: #fff;
    border-radius: 8px;
    text-shadow: 0 1px 3px rgba(0,0,0,0.3);
    position: relative;
}

.abp-style-82::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.1), transparent 50%);
    border-radius: 8px;
    pointer-events: none;
}

/* Style 83 - Dark Mode */
.abp-style-83 {
    background: linear-gradient(145deg, #2d3436, #000000);
    box-shadow: 0 4px 12px rgba(0,0,0,0.8), inset 0 1px 2px rgba(255,255,255,0.1);
    color: #dfe6e9;
    border: 1px solid #636e72;
    border-radius: 6px;
    text-shadow: 0 1px 2px rgba(0,0,0,0.8);
}

/* Style 84 - Rainbow Gradient */
.abp-style-84 {
    background: linear-gradient(90deg, #ff0000, #ff7f00, #ffff00, #00ff00, #0000ff, #4b0082, #9400d3);
    background-size: 300% 100%;
    animation: abp-rainbow-shift 3s linear infinite;
    color: #fff;
    border-radius: 50px;
    box-shadow: 0 6px 20px rgba(148, 0, 211, 0.5);
    text-shadow: 0 2px 4px rgba(0,0,0,0.5);
    font-weight: 600;
}

@keyframes abp-rainbow-shift {
    0% { background-position: 0% 50%; }
    100% { background-position: 200% 50%; }
}

/* Style 85 - Crystal Clear */
.abp-style-85 {
    background: linear-gradient(135deg, rgba(255,255,255,0.25), rgba(255,255,255,0.1));
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 2px solid rgba(255,255,255,0.3);
    box-shadow: 0 8px 32px rgba(0,0,0,0.1), inset 0 1px 2px rgba(255,255,255,0.3);
    color: #fff;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
    border-radius: 12px;
}

/* Style 86 - Copper Metallic */
.abp-style-86 {
    background: linear-gradient(180deg, #d2691e, #b8860b 50%, #8b6914 50%, #cd853f);
    box-shadow: inset 0 2px 2px rgba(255,255,255,0.3), inset 0 -2px 2px rgba(0,0,0,0.4), 0 6px 15px rgba(139, 105, 20, 0.6);
    color: #fff;
    text-shadow: 0 1px 2px rgba(0,0,0,0.5);
    border-radius: 8px;
    font-weight: 600;
}

/* Style 87 - Royal Blue Velvet */
.abp-style-87 {
    background: linear-gradient(145deg, #1e3a8a, #1e40af, #1e3a8a);
    box-shadow: inset 0 2px 5px rgba(255,255,255,0.1), 0 8px 25px rgba(30, 58, 138, 0.7);
    color: #fff;
    border-radius: 10px;
    text-shadow: 0 2px 4px rgba(0,0,0,0.4);
    position: relative;
}

.abp-style-87::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.15), transparent 60%);
    border-radius: 10px;
    pointer-events: none;
}

/* Style 88 - Rose Gold */
.abp-style-88 {
    background: linear-gradient(145deg, #f4c2c2, #e8a87c, #d4a574);
    box-shadow: inset 0 2px 4px rgba(255,255,255,0.4), 0 6px 20px rgba(244, 194, 194, 0.5);
    color: #8b4513;
    border-radius: 50px;
    text-shadow: 0 1px 1px rgba(255,255,255,0.8);
    font-weight: 600;
}

/* Style 89 - Liquid Mercury */
.abp-style-89 {
    background: linear-gradient(135deg, #c0c0c0, #a8a8a8, #909090, #a8a8a8, #c0c0c0);
    background-size: 200% 100%;
    animation: abp-mercury-shine 2s ease-in-out infinite;
    box-shadow: inset 0 2px 4px rgba(255,255,255,0.6), 0 6px 18px rgba(0,0,0,0.4);
    color: #2c2c2c;
    text-shadow: 0 1px 1px rgba(255,255,255,0.7);
    border-radius: 8px;
    font-weight: 600;
}

@keyframes abp-mercury-shine {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

/* Style 90 - Midnight Blue */
.abp-style-90 {
    background: linear-gradient(145deg, #0f0c29, #302b63, #24243e);
    box-shadow: inset 0 2px 4px rgba(255,255,255,0.08), 0 8px 30px rgba(15, 12, 41, 0.9);
    color: #e0e0ff;
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 8px;
    text-shadow: 0 0 10px rgba(224, 224, 255, 0.5);
}

/* Style 91 - Terracotta */
.abp-style-91 {
    background: linear-gradient(145deg, #e07a5f, #c65d45, #a8553e);
    box-shadow: inset 0 2px 4px rgba(255,255,255,0.2), 0 6px 20px rgba(224, 122, 95, 0.6);
    color: #fff;
    border-radius: 10px;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
    position: relative;
}

.abp-style-91::after {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 40%;
    background: linear-gradient(to bottom, rgba(255,255,255,0.2), transparent);
    border-radius: 10px 10px 0 0;
    pointer-events: none;
}

/* Style 92 - Electric Lime */
.abp-style-92 {
    background: #32cd32;
    color: #000;
    border: 2px solid #00ff00;
    text-shadow: 0 0 8px #00ff00, 0 0 15px #00ff00;
    box-shadow: 0 0 20px #32cd32, inset 0 0 15px rgba(50, 205, 50, 0.5);
    border-radius: 8px;
    font-weight: 700;
}

/* Style 93 - Denim Blue */
.abp-style-93 {
    background: linear-gradient(145deg, #1565c0, #0d47a1, #1565c0);
    box-shadow: inset 0 2px 4px rgba(255,255,255,0.15), 0 6px 18px rgba(21, 101, 192, 0.6);
    color: #fff;
    border-radius: 6px;
    text-shadow: 0 1px 3px rgba(0,0,0,0.4);
    letter-spacing: 0.5px;
}

/* Style 94 - Champagne Gold */
.abp-style-94 {
    background: linear-gradient(180deg, #f7e7ce, #ede4cd 50%, #ddd4bd 50%, #ede4cd);
    box-shadow: inset 0 2px 3px rgba(255,255,255,0.8), inset 0 -2px 3px rgba(0,0,0,0.2), 0 5px 15px rgba(237, 228, 205, 0.5);
    color: #5c4e37;
    text-shadow: 0 1px 1px rgba(255,255,255,0.9);
    border: 1px solid rgba(156, 146, 130, 0.3);
    border-radius: 8px;
    font-weight: 600;
}

/* Style 95 - Neon Purple */
.abp-style-95 {
    background: #000;
    color: #9d4edd;
    border: 2px solid #9d4edd;
    text-shadow: 0 0 10px #9d4edd, 0 0 20px #9d4edd;
    box-shadow: 0 0 20px #9d4edd, inset 0 0 20px rgba(157, 78, 221, 0.3);
    border-radius: 8px;
    font-weight: 600;
}

/* Style 96 - Vintage Paper */
.abp-style-96 {
    background: linear-gradient(135deg, #f4f1e8, #e8e3d5, #d4c9b0);
    box-shadow: inset 0 1px 2px rgba(255,255,255,0.9), 0 4px 12px rgba(212, 201, 176, 0.5);
    border: 2px solid #c4b598;
    color: #5c5343;
    border-radius: 4px;
    text-shadow: 0 1px 1px rgba(255,255,255,0.8);
    font-family: "Georgia", serif;
}

/* Style 97 - Cosmic Purple */
.abp-style-97 {
    background: linear-gradient(135deg, #667eea, #764ba2, #f093fb);
    background-size: 200% 200%;
    animation: abp-cosmic-flow 4s ease infinite;
    box-shadow: 0 8px 30px rgba(102, 126, 234, 0.6);
    color: #fff;
    border-radius: 50px;
    text-shadow: 0 2px 5px rgba(0,0,0,0.3);
}

@keyframes abp-cosmic-flow {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

/* Style 98 - Bronze Age */
.abp-style-98 {
    background: linear-gradient(145deg, #cd7f32, #b87333, #9e6b28);
    box-shadow: inset 0 2px 4px rgba(255,255,255,0.15), 0 6px 20px rgba(205, 127, 50, 0.7);
    color: #fff;
    border-radius: 8px;
    text-shadow: 0 2px 4px rgba(0,0,0,0.5);
    border: 1px solid rgba(158, 107, 40, 0.5);
}

/* Style 99 - Bubble Gum */
.abp-style-99 {
    background: linear-gradient(180deg, #ffc0cb, #ff91a4, #ff69b4);
    border-radius: 50px;
    box-shadow: inset 0 3px 5px rgba(255,255,255,0.6), 0 8px 25px rgba(255, 105, 180, 0.6);
    color: #fff;
    text-shadow: 0 2px 4px rgba(0,0,0,0.2);
    position: relative;
}

.abp-style-99::before {
    content: '';
    position: absolute;
    top: 6px; left: 6px; right: 6px;
    height: 45%;
    background: rgba(255,255,255,0.7);
    border-radius: 50px;
    pointer-events: none;
}

/* Style 100 - Granite Stone */
.abp-style-100 {
    background: linear-gradient(135deg, #708090, #778899, #696969);
    box-shadow: inset 0 1px 2px rgba(255,255,255,0.2), inset 0 -1px 2px rgba(0,0,0,0.3), 0 6px 20px rgba(0,0,0,0.5);
    color: #fff;
    border: 1px solid #5a5a5a;
    border-radius: 6px;
    text-shadow: 0 1px 2px rgba(0,0,0,0.6);
}

/* Style 101 - Mint Fresh */
.abp-style-101 {
    background: linear-gradient(135deg, #98fb98, #90ee90, #7fffd4);
    box-shadow: 0 6px 20px rgba(152, 251, 152, 0.5);
    color: #2d5016;
    border-radius: 50px;
    text-shadow: 0 1px 1px rgba(255,255,255,0.8);
    font-weight: 600;
}

/* Style 102 - Dark Chocolate */
.abp-style-102 {
    background: linear-gradient(145deg, #3d2817, #2d1f14, #1a1209);
    box-shadow: inset 0 2px 4px rgba(255,255,255,0.1), 0 6px 20px rgba(26, 18, 9, 0.9);
    color: #d4a574;
    border: 1px solid #5c4033;
    border-radius: 8px;
    text-shadow: 0 1px 2px rgba(0,0,0,0.8);
    letter-spacing: 0.5px;
}

/* Style 103 - Sky Blue */
.abp-style-103 {
    background: linear-gradient(135deg, #87ceeb, #4682b4, #5f9ea0);
    background-size: 200% 200%;
    animation: abp-sky-shimmer 3s ease infinite;
    box-shadow: inset 0 2px 4px rgba(255,255,255,0.3), 0 6px 20px rgba(135, 206, 235, 0.5);
    color: #fff;
    border-radius: 10px;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

@keyframes abp-sky-shimmer {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

/* Style 104 - Blood Red */
.abp-style-104 {
    background: radial-gradient(circle at 30% 30%, #dc143c, #8b0000 80%);
    box-shadow: inset 0 1px 3px rgba(255,255,255,0.3), 0 8px 25px rgba(220, 20, 60, 0.7);
    color: #fff;
    border-radius: 8px;
    text-shadow: 0 2px 4px rgba(0,0,0,0.5);
    position: relative;
}

.abp-style-104::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.2), transparent 50%);
    border-radius: 8px;
    pointer-events: none;
}

/* Style 105 - Chrome Neon */
.abp-style-105 {
    background: linear-gradient(180deg, #e8e8e8, #c0c0c0 50%, #a0a0a0 50%, #c8c8c8);
    box-shadow: inset 0 2px 2px rgba(255,255,255,0.9), inset 0 -2px 2px rgba(0,0,0,0.2), 0 4px 12px rgba(0,0,0,0.4);
    color: #0066ff;
    text-shadow: 0 0 10px #0066ff, 0 1px 1px rgba(255,255,255,0.8);
    border: 2px solid #0066ff;
    border-radius: 8px;
    font-weight: 700;
}

/* Style 106 - Sand Dune */
.abp-style-106 {
    background: linear-gradient(145deg, #f4a460, #daa520, #cd853f);
    box-shadow: inset 0 2px 4px rgba(255,255,255,0.3), 0 6px 18px rgba(244, 164, 96, 0.5);
    color: #654321;
    border-radius: 8px;
    text-shadow: 0 1px 1px rgba(255,255,255,0.6);
    border: 1px solid rgba(181, 126, 63, 0.4);
}

/* Style 107 - Lavender Dream */
.abp-style-107 {
    background: linear-gradient(135deg, #e6e6fa, #dda0dd, #ba55d3);
    box-shadow: 0 6px 20px rgba(230, 230, 250, 0.6);
    color: #4b0082;
    border-radius: 50px;
    text-shadow: 0 1px 1px rgba(255,255,255,0.8);
    font-weight: 600;
}

/* Style 108 - Volcanic Rock */
.abp-style-108 {
    background: repeating-linear-gradient(45deg, #2c2c2c 0, #2c2c2c 2px, #3c3c3c 2px, #3c3c3c 4px);
    box-shadow: inset 0 1px 2px rgba(255,255,255,0.1), 0 6px 20px rgba(0,0,0,0.8);
    border: 1px solid #1a1a1a;
    color: #ff4500;
    text-shadow: 0 0 8px #ff4500;
    border-radius: 4px;
}

/* Style 109 - Peacock Feather */
.abp-style-109 {
    background: linear-gradient(135deg, #00a8cc, #0088a3, #005a6b);
    box-shadow: inset 0 2px 4px rgba(255,255,255,0.2), 0 8px 25px rgba(0, 168, 204, 0.6);
    color: #fff;
    border-radius: 10px;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
    position: relative;
}

.abp-style-109::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 40%;
    background: linear-gradient(to bottom, rgba(255,255,255,0.2), transparent);
    border-radius: 10px 10px 0 0;
    pointer-events: none;
}

/* Style 110 - Silver Foil */
.abp-style-110 {
    background: linear-gradient(135deg, rgba(192,192,192,0.95), rgba(160,160,160,0.95));
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,0.5);
    box-shadow: 0 8px 32px rgba(0,0,0,0.2), inset 0 1px 2px rgba(255,255,255,0.4);
    color: #333;
    text-shadow: 0 1px 2px rgba(255,255,255,0.8);
    border-radius: 8px;
    font-weight: 600;
}

/* Style 111 - Forest Green */
.abp-style-111 {
    background: linear-gradient(145deg, #228b22, #006400, #154d15);
    box-shadow: inset 0 2px 5px rgba(255,255,255,0.1), 0 8px 25px rgba(34, 139, 34, 0.7);
    color: #fff;
    border-radius: 8px;
    text-shadow: 0 2px 4px rgba(0,0,0,0.5);
    border: 1px solid rgba(21, 77, 21, 0.5);
}

/* Style 112 - Coral Reef */
.abp-style-112 {
    background: linear-gradient(135deg, #ff7f50, #ff6347, #ff4500);
    box-shadow: 0 8px 25px rgba(255, 127, 80, 0.6);
    color: #fff;
    border-radius: 50px;
    text-shadow: 0 2px 5px rgba(0,0,0,0.3);
    position: relative;
}

.abp-style-112::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 50%;
    background: linear-gradient(to bottom, rgba(255,255,255,0.4), transparent);
    border-radius: 50px 50px 0 0;
    pointer-events: none;
}

/* Style 113 - Arctic Ice */
.abp-style-113 {
    background: linear-gradient(135deg, #e0f7fa, #b2ebf2, #80deea);
    box-shadow: 0 6px 20px rgba(224, 247, 250, 0.5);
    color: #006064;
    border: 2px solid #00bcd4;
    border-radius: 8px;
    text-shadow: 0 1px 1px rgba(255,255,255,0.9);
    font-weight: 600;
}

/* Style 114 - Wine Red */
.abp-style-114 {
    background: linear-gradient(145deg, #722f37, #5a1f25, #3d1419);
    box-shadow: inset 0 2px 4px rgba(255,255,255,0.08), 0 8px 30px rgba(114, 47, 55, 0.9);
    color: #f4c2c2;
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 10px;
    text-shadow: 0 1px 2px rgba(0,0,0,0.8);
}

/* Style 115 - Cyberpunk Green */
.abp-style-115 {
    background: #000;
    color: #00ff41;
    border: 2px solid #00ff41;
    text-shadow: 0 0 10px #00ff41, 0 0 20px #00ff41;
    box-shadow: 0 0 20px #00ff41, inset 0 0 15px rgba(0, 255, 65, 0.2);
    border-radius: 4px;
    font-weight: 700;
    letter-spacing: 1px;
}

/* Style 116 - Cream Vintage */
.abp-style-116 {
    background: linear-gradient(145deg, #fff8dc, #f5deb3, #deb887);
    box-shadow: inset 0 2px 4px rgba(255,255,255,0.9), 0 5px 15px rgba(245, 222, 179, 0.4);
    border: 2px solid #d2b48c;
    color: #654321;
    border-radius: 6px;
    text-shadow: 0 1px 1px rgba(255,255,255,0.9);
    font-family: "Georgia", serif;
}

/* Style 117 - Neon Cyan */
.abp-style-117 {
    background: #000;
    color: #00ffff;
    border: 2px solid #00ffff;
    text-shadow: 0 0 10px #00ffff, 0 0 20px #00ffff;
    box-shadow: 0 0 25px #00ffff, inset 0 0 20px rgba(0, 255, 255, 0.3);
    border-radius: 8px;
    font-weight: 700;
}

/* Style 118 - Mahogany Wood */
.abp-style-118 {
    background: linear-gradient(145deg, #c04000, #8b4513, #654321);
    box-shadow: inset 0 2px 5px rgba(255,255,255,0.1), 0 8px 25px rgba(192, 64, 0, 0.7);
    color: #ffd700;
    border: 1px solid rgba(139, 69, 19, 0.6);
    border-radius: 8px;
    text-shadow: 0 1px 2px rgba(0,0,0,0.6);
    letter-spacing: 0.5px;
}

/* Style 119 - Pastel Blue */
.abp-style-119 {
    background: linear-gradient(135deg, #add8e6, #87ceeb, #b0e0e6);
    box-shadow: 0 6px 20px rgba(173, 216, 230, 0.5);
    color: #2e5266;
    border-radius: 50px;
    text-shadow: 0 1px 1px rgba(255,255,255,0.9);
    font-weight: 600;
}

/* Style 120 - Galaxy Black */
.abp-style-120 {
    background: linear-gradient(135deg, #000000, #1a1a2e, #16213e);
    box-shadow: inset 0 2px 4px rgba(255,255,255,0.05), 0 8px 30px rgba(0,0,0,0.9), 0 0 20px rgba(138, 43, 226, 0.3);
    color: #9370db;
    border: 1px solid rgba(147, 112, 219, 0.3);
    border-radius: 10px;
    text-shadow: 0 0 10px #9370db;
}

/* Style 121 - Sunshine Yellow */
.abp-style-121 {
    background: linear-gradient(180deg, #ffd700, #ffed4e 50%, #ffcc00 50%, #ffd700);
    box-shadow: inset 0 2px 4px rgba(255,255,255,0.6), inset 0 -2px 4px rgba(0,0,0,0.2), 0 8px 25px rgba(255, 215, 0, 0.6);
    color: #8b6914;
    text-shadow: 0 1px 1px rgba(255,255,255,0.8);
    border-radius: 50px;
    font-weight: 700;
}

/* Style 122 - Slate Gray */
.abp-style-122 {
    background: linear-gradient(145deg, #708090, #556b2f, #2f4f4f);
    box-shadow: inset 0 2px 4px rgba(255,255,255,0.15), 0 6px 20px rgba(47, 79, 79, 0.6);
    color: #fff;
    border-radius: 6px;
    text-shadow: 0 1px 2px rgba(0,0,0,0.6);
}

/* Style 123 - Hot Pink Neon */
.abp-style-123 {
    background: #000;
    color: #ff1493;
    border: 2px solid #ff1493;
    text-shadow: 0 0 10px #ff1493, 0 0 20px #ff1493;
    box-shadow: 0 0 25px #ff1493, inset 0 0 20px rgba(255, 20, 147, 0.3);
    border-radius: 8px;
    font-weight: 700;
}

/* Style 124 - Olive Drab */
.abp-style-124 {
    background: linear-gradient(145deg, #6b8e23, #556b2f, #3d5a1f);
    box-shadow: inset 0 2px 5px rgba(255,255,255,0.1), 0 8px 25px rgba(107, 142, 35, 0.7);
    color: #fff;
    border: 1px solid rgba(61, 90, 31, 0.5);
    border-radius: 8px;
    text-shadow: 0 2px 4px rgba(0,0,0,0.5);
}

/* Style 125 - Diamond White */
.abp-style-125 {
    background: linear-gradient(180deg, #ffffff, #f5f5f5 50%, #e8e8e8 50%, #f0f0f0);
    box-shadow: inset 0 2px 4px rgba(255,255,255,0.9), inset 0 -2px 4px rgba(0,0,0,0.1), 0 6px 20px rgba(0,0,0,0.15);
    color: #333;
    text-shadow: 0 1px 2px rgba(255,255,255,0.9);
    border: 1px solid rgba(0,0,0,0.1);
    border-radius: 8px;
    font-weight: 600;
}

/* ============================================
   HOVER STYLES (1-60)
   ============================================ */

/* Hover 1 - Scale Up with Glow */
.abp-hover-1:hover {
    transform: scale(1.1);
    box-shadow: 0 0 25px rgba(102, 126, 234, 0.8);
}

/* Hover 2 - Scale Down with Shadow */
.abp-hover-2:hover {
    transform: scale(0.92);
    box-shadow: inset 0 4px 8px rgba(0,0,0,0.3);
}

/* Hover 3 - Brighten with Color */
.abp-hover-3:hover {
    filter: brightness(1.4) saturate(1.3);
    transform: scale(1.05);
}

/* Hover 4 - Darken with Contrast */
.abp-hover-4:hover {
    filter: brightness(0.7) contrast(1.3);
    border: 2px solid rgba(255,255,255,0.3);
}

/* Hover 5 - Lift with Strong Shadow */
.abp-hover-5:hover {
    transform: translateY(-8px) scale(1.05);
    box-shadow: 0 15px 35px rgba(0,0,0,0.4);
}

/* Hover 6 - Press Down */
.abp-hover-6:hover {
    transform: translateY(4px) scale(0.98);
    box-shadow: inset 0 4px 8px rgba(0,0,0,0.2), 0 2px 4px rgba(0,0,0,0.1);
}

/* Hover 7 - Neon Glow */
.abp-hover-7:hover {
    box-shadow: 0 0 30px rgba(0,255,255,0.9), 0 0 60px rgba(0,255,255,0.5);
    text-shadow: 0 0 10px rgba(0,255,255,0.8);
}

/* Hover 8 - Red Color Burst */
.abp-hover-8:hover {
    background: #ff1744 !important;
    color: #fff !important;
    transform: scale(1.08);
}

/* Hover 9 - Slide Right with Fade */
.abp-hover-9:hover {
    transform: translateX(15px);
    opacity: 0.9;
    box-shadow: 5px 0 15px rgba(0,0,0,0.3);
}

/* Hover 10 - Slide Left with Fade */
.abp-hover-10:hover {
    transform: translateX(-15px);
    opacity: 0.9;
    box-shadow: -5px 0 15px rgba(0,0,0,0.3);
}

/* Hover 11 - Rotate with Scale */
.abp-hover-11:hover {
    transform: rotate(8deg) scale(1.1);
}

/* Hover 12 - Skew with Color */
.abp-hover-12:hover {
    transform: skewX(-15deg) scale(1.05);
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
}

/* Hover 13 - Pulse */
.abp-hover-13:hover {
    animation: abp-pulse 1s infinite;
}

@keyframes abp-pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.1); }
}

/* Hover 14 - Shake */
.abp-hover-14:hover {
    animation: abp-shake 0.5s;
}

@keyframes abp-shake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-10px); }
    75% { transform: translateX(10px); }
}

/* Hover 15 - Gradient Shift with Animation */
.abp-hover-15:hover {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 50%, #f093fb 100%);
    background-size: 200% 200%;
    animation: abp-gradient-shift-hover 2s ease infinite;
    transform: scale(1.05);
}

@keyframes abp-gradient-shift-hover {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

/* Hover 16 - Border Glow Pulse */
.abp-hover-16:hover {
    box-shadow: 0 0 0 4px rgba(102, 126, 234, 0.6), 0 0 20px rgba(102, 126, 234, 0.8);
    animation: abp-border-pulse 1s ease infinite;
}

@keyframes abp-border-pulse {
    0%, 100% { box-shadow: 0 0 0 4px rgba(102, 126, 234, 0.6), 0 0 20px rgba(102, 126, 234, 0.8); }
    50% { box-shadow: 0 0 0 6px rgba(102, 126, 234, 0.8), 0 0 30px rgba(102, 126, 234, 1); }
}

/* Hover 17 - Shadow Expand with Lift */
.abp-hover-17:hover {
    box-shadow: 0 20px 40px rgba(0,0,0,0.4);
    transform: translateY(-6px) scale(1.03);
}

/* Hover 18 - Opacity with Scale */
.abp-hover-18:hover {
    opacity: 0.75;
    transform: scale(1.08);
    box-shadow: 0 0 15px rgba(255,255,255,0.4);
}

/* Hover 19 - Blur Background with Brighten */
.abp-hover-19:hover {
    backdrop-filter: blur(15px);
    filter: brightness(1.2);
    transform: scale(1.05);
}

/* Hover 20 - Invert Colors with Rotate */
.abp-hover-20:hover {
    filter: invert(1);
    transform: rotate(3deg) scale(1.05);
}

/* Hover 21 - Hue Rotate with Scale */
.abp-hover-21:hover {
    filter: hue-rotate(120deg) saturate(1.5);
    transform: scale(1.08);
}

/* Hover 22 - Saturate with Glow */
.abp-hover-22:hover {
    filter: saturate(2.5) brightness(1.1);
    box-shadow: 0 0 25px rgba(255, 107, 107, 0.7);
}

/* Hover 23 - Contrast with Shadow */
.abp-hover-23:hover {
    filter: contrast(1.8) brightness(1.1);
    box-shadow: 0 8px 25px rgba(0,0,0,0.4);
    transform: translateY(-3px);
}

/* Hover 24 - Wobble */
.abp-hover-24:hover {
    animation: abp-wobble 0.5s;
}

@keyframes abp-wobble {
    0%, 100% { transform: rotate(0deg); }
    25% { transform: rotate(5deg); }
    75% { transform: rotate(-5deg); }
}

/* Hover 25 - Bounce */
.abp-hover-25:hover {
    animation: abp-bounce 0.6s;
}

@keyframes abp-bounce {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}

/* Hover 26 - Flip */
.abp-hover-26:hover {
    transform: perspective(500px) rotateY(180deg);
}

/* Hover 27 - 3D Rotate */
.abp-hover-27:hover {
    transform: perspective(500px) rotateX(15deg);
}

/* Hover 28 - Slide Up */
.abp-hover-28:hover {
    transform: translateY(-10px) scale(1.05);
}

/* Hover 29 - Slide Down */
.abp-hover-29:hover {
    transform: translateY(10px);
}

/* Hover 30 - Zoom In with Rotate */
.abp-hover-30:hover {
    transform: scale(1.15) rotate(2deg);
    box-shadow: 0 0 25px rgba(0,0,0,0.3);
}

/* Hover 31 - Zoom Out with Darken */
.abp-hover-31:hover {
    transform: scale(0.88);
    filter: brightness(0.85);
    box-shadow: inset 0 4px 12px rgba(0,0,0,0.4);
}

/* Hover 32 - Border Radius Change with Color */
.abp-hover-32:hover {
    border-radius: 50px;
    background: linear-gradient(135deg, #ff6b6b 0%, #ee5a6f 100%) !important;
    transform: scale(1.05);
}

/* Hover 33 - Width Expand with Glow */
.abp-hover-33:hover {
    padding-left: 45px;
    padding-right: 45px;
    box-shadow: 0 0 20px rgba(102, 126, 234, 0.6);
    transform: translateY(-3px);
}

/* Hover 34 - Height Expand with Shadow */
.abp-hover-34:hover {
    padding-top: 18px;
    padding-bottom: 18px;
    box-shadow: 0 8px 20px rgba(0,0,0,0.3);
    transform: translateX(5px);
}

/* Hover 35 - Gradient Animation */
.abp-hover-35:hover {
    background-size: 200% 200%;
    animation: abp-gradient 3s ease infinite;
}

@keyframes abp-gradient {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* Hover 36 - Text Shadow */
.abp-hover-36:hover .abp-button-text {
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
}

/* Hover 37 - Letter Spacing */
.abp-hover-37:hover {
    letter-spacing: 3px;
}

/* Hover 38 - Font Weight */
.abp-hover-38:hover {
    font-weight: 700;
}

/* Hover 39 - Text Transform */
.abp-hover-39:hover {
    text-transform: uppercase;
}

/* Hover 40 - Color Invert with Scale */
.abp-hover-40:hover {
    background: #000 !important;
    color: #fff !important;
    border-color: #fff !important;
    transform: scale(1.1);
    box-shadow: 0 0 25px rgba(255,255,255,0.5);
}

/* Hover 41 - Red Glow with Pulse */
.abp-hover-41:hover {
    box-shadow: 0 0 30px rgba(255, 107, 107, 0.9), 0 0 60px rgba(255, 107, 107, 0.6);
    animation: abp-red-glow-pulse 1s ease infinite;
}

@keyframes abp-red-glow-pulse {
    0%, 100% { box-shadow: 0 0 30px rgba(255, 107, 107, 0.9), 0 0 60px rgba(255, 107, 107, 0.6); }
    50% { box-shadow: 0 0 40px rgba(255, 107, 107, 1), 0 0 80px rgba(255, 107, 107, 0.8); }
}

/* Hover 42 - Dual Shadow with Lift */
.abp-hover-42:hover {
    box-shadow: 0 8px 20px rgba(0,0,0,0.3), 0 0 0 4px rgba(102, 126, 234, 0.7);
    transform: translateY(-4px) scale(1.03);
}

/* Hover 43 - Inner Shadow with Press */
.abp-hover-43:hover {
    box-shadow: inset 0 4px 8px rgba(0,0,0,0.4), 0 2px 4px rgba(0,0,0,0.2);
    transform: translateY(2px);
    background: rgba(0,0,0,0.1) !important;
}

/* Hover 44 - Radial Gradient with Spin */
.abp-hover-44:hover {
    background: radial-gradient(circle, #667eea 0%, #764ba2 50%, #f093fb 100%) !important;
    transform: rotate(3deg) scale(1.08);
    box-shadow: 0 0 25px rgba(102, 126, 234, 0.6);
}

/* Hover 45 - Text Color Change */
.abp-hover-45:hover .abp-button-text {
    color: #fff;
}

/* Hover 46 - Border Color Change with Glow */
.abp-hover-46:hover {
    border-color: #00ff00 !important;
    border-width: 3px !important;
    box-shadow: 0 0 20px rgba(0, 255, 0, 0.6);
    transform: scale(1.05);
}

/* Hover 47 - Thick Border with Color */
.abp-hover-47:hover {
    border-width: 5px !important;
    border-color: #ff6b6b !important;
    background: rgba(255, 107, 107, 0.1);
}

/* Hover 48 - Dashed Border with Animation */
.abp-hover-48:hover {
    border-style: dashed !important;
    border-width: 3px !important;
    border-color: #667eea !important;
    animation: abp-dashed-border 1s linear infinite;
}

@keyframes abp-dashed-border {
    0% { border-color: #667eea; }
    50% { border-color: #764ba2; }
    100% { border-color: #667eea; }
}

/* Hover 49 - Dotted Border with Pulse */
.abp-hover-49:hover {
    border-style: dotted !important;
    border-width: 4px !important;
    border-color: #ffd700 !important;
    box-shadow: 0 0 15px rgba(255, 215, 0, 0.5);
}

/* Hover 50 - Double Border with Glow */
.abp-hover-50:hover {
    border-style: double !important;
    border-width: 5px !important;
    border-color: #9370db !important;
    box-shadow: 0 0 25px rgba(147, 112, 219, 0.7), inset 0 0 15px rgba(147, 112, 219, 0.3);
}

/* Hover 51 - Outline Mode with Glow */
.abp-hover-51:hover {
    background: transparent !important;
    border-width: 3px !important;
    border-color: #00ff88 !important;
    box-shadow: 0 0 20px rgba(0, 255, 136, 0.7);
    transform: scale(1.08);
}

/* Hover 52 - Fill Mode with Animation */
.abp-hover-52:hover {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
    border: none !important;
    animation: abp-fill-pulse 1s ease infinite;
    transform: scale(1.05);
}

@keyframes abp-fill-pulse {
    0%, 100% { filter: brightness(1); }
    50% { filter: brightness(1.2); }
}

/* Hover 53 - Ripple Effect Enhanced */
.abp-hover-53 {
    position: relative;
}

.abp-hover-53.abp-button {
    overflow: hidden;
}

.abp-hover-53::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(102, 126, 234, 0.6), rgba(102, 126, 234, 0.3), transparent);
    transform: translate(-50%, -50%);
    transition: width 0.4s, height 0.4s;
    z-index: 1;
}

.abp-hover-53:hover {
    transform: scale(1.05);
}

.abp-hover-53:hover::before {
    width: 400px;
    height: 400px;
}

/* Hover 54 - Shine Effect Enhanced */
.abp-hover-54 {
    position: relative;
}

.abp-hover-54.abp-button {
    overflow: hidden;
}

.abp-hover-54::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.6), transparent);
    transition: left 0.6s;
    z-index: 1;
}

.abp-hover-54:hover {
    transform: scale(1.05);
    box-shadow: 0 0 25px rgba(255,255,255,0.4);
}

.abp-hover-54:hover::after {
    left: 100%;
}

/* Hover 55 - Animated Underline */
.abp-hover-55:hover {
    border-bottom: 4px solid #ff6b6b !important;
    background: rgba(255, 107, 107, 0.1) !important;
    transform: translateY(-2px);
    animation: abp-underline-grow 0.3s ease;
}

@keyframes abp-underline-grow {
    from { border-bottom-width: 0; }
    to { border-bottom-width: 4px; }
}

/* Hover 56 - Animated Overline */
.abp-hover-56:hover {
    border-top: 4px solid #00bfff !important;
    background: rgba(0, 191, 255, 0.1) !important;
    transform: translateY(2px);
}

/* Hover 57 - Strike Through with Color */
.abp-hover-57:hover .abp-button-text {
    text-decoration: line-through;
    color: #ff6b6b !important;
    transform: scale(1.05);
}

/* Hover 58 - Animated Underline */
.abp-hover-58:hover .abp-button-text {
    text-decoration: underline;
    text-decoration-color: #667eea;
    text-decoration-thickness: 3px;
    text-underline-offset: 4px;
    color: #667eea !important;
}

/* Hover 59 - Text Scale with Glow */
.abp-hover-59:hover .abp-button-text {
    transform: scale(1.2);
    display: inline-block;
    text-shadow: 0 0 15px rgba(102, 126, 234, 0.8);
    color: #fff !important;
}

/* Hover 60 - All Effects Combined Enhanced */
.abp-hover-60:hover {
    transform: scale(1.12) translateY(-8px) rotate(2deg);
    box-shadow: 0 15px 35px rgba(0,0,0,0.4), 0 0 30px rgba(102, 126, 234, 0.6);
    filter: brightness(1.2) saturate(1.3);
    border: 2px solid rgba(255,255,255,0.5);
}

/* ============================================
   ANIMATIONS (1-60)
   ============================================ */

/* Animation 1 - Fade In */
.abp-animation-animation-1 {
    animation: abp-fade-in 1s ease;
}

@keyframes abp-fade-in {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* Animation 2 - Slide In Left */
.abp-animation-animation-2 {
    animation: abp-slide-in-left 0.8s ease;
}

@keyframes abp-slide-in-left {
    from {
        opacity: 0;
        transform: translateX(-50px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Animation 3 - Slide In Right */
.abp-animation-animation-3 {
    animation: abp-slide-in-right 0.8s ease;
}

@keyframes abp-slide-in-right {
    from {
        opacity: 0;
        transform: translateX(50px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Animation 4 - Slide In Up */
.abp-animation-animation-4 {
    animation: abp-slide-in-up 0.8s ease;
}

@keyframes abp-slide-in-up {
    from {
        opacity: 0;
        transform: translateY(50px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Animation 5 - Slide In Down */
.abp-animation-animation-5 {
    animation: abp-slide-in-down 0.8s ease;
}

@keyframes abp-slide-in-down {
    from {
        opacity: 0;
        transform: translateY(-50px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Animation 6 - Zoom In */
.abp-animation-animation-6 {
    animation: abp-zoom-in 0.8s ease;
}

@keyframes abp-zoom-in {
    from {
        opacity: 0;
        transform: scale(0.5);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* Animation 7 - Zoom Out */
.abp-animation-animation-7 {
    animation: abp-zoom-out 0.8s ease;
}

@keyframes abp-zoom-out {
    from {
        opacity: 0;
        transform: scale(1.5);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* Animation 8 - Rotate In */
.abp-animation-animation-8 {
    animation: abp-rotate-in 1s ease;
}

@keyframes abp-rotate-in {
    from {
        opacity: 0;
        transform: rotate(-180deg) scale(0.5);
    }
    to {
        opacity: 1;
        transform: rotate(0) scale(1);
    }
}

/* Animation 9 - Bounce */
.abp-animation-animation-9 {
    animation: abp-bounce-in 1s ease;
}

@keyframes abp-bounce-in {
    0% {
        opacity: 0;
        transform: scale(0.3);
    }
    50% {
        opacity: 1;
        transform: scale(1.05);
    }
    70% {
        transform: scale(0.9);
    }
    100% {
        transform: scale(1);
    }
}

/* Animation 10 - Flip */
.abp-animation-animation-10 {
    animation: abp-flip 0.8s ease;
}

@keyframes abp-flip {
    from {
        opacity: 0;
        transform: perspective(400px) rotateY(90deg);
    }
    to {
        opacity: 1;
        transform: perspective(400px) rotateY(0);
    }
}

/* Animation 11 - Pulse */
.abp-animation-animation-11 {
    animation: abp-pulse-in 1.5s ease infinite;
}

@keyframes abp-pulse-in {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.05);
    }
}

/* Animation 12 - Shake */
.abp-animation-animation-12 {
    animation: abp-shake-in 0.8s ease;
}

@keyframes abp-shake-in {
    0%, 100% { transform: translateX(0); }
    10%, 30%, 50%, 70%, 90% { transform: translateX(-10px); }
    20%, 40%, 60%, 80% { transform: translateX(10px); }
}

/* Animation 13 - Swing */
.abp-animation-animation-13 {
    animation: abp-swing 1s ease;
}

@keyframes abp-swing {
    20% { transform: rotate(15deg); }
    40% { transform: rotate(-10deg); }
    60% { transform: rotate(5deg); }
    80% { transform: rotate(-5deg); }
    100% { transform: rotate(0deg); }
}

/* Animation 14 - Tada */
.abp-animation-animation-14 {
    animation: abp-tada 1s ease;
}

@keyframes abp-tada {
    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); }
}

/* Animation 15 - Wobble */
.abp-animation-animation-15 {
    animation: abp-wobble-in 1s ease;
}

@keyframes abp-wobble-in {
    0% { transform: translateX(0%); }
    15% { transform: translateX(-25px) rotate(-5deg); }
    30% { transform: translateX(20px) rotate(3deg); }
    45% { transform: translateX(-15px) rotate(-3deg); }
    60% { transform: translateX(10px) rotate(2deg); }
    75% { transform: translateX(-5px) rotate(-1deg); }
    100% { transform: translateX(0%); }
}

/* Animation 16 - Jello */
.abp-animation-animation-16 {
    animation: abp-jello 1s ease;
}

@keyframes abp-jello {
    11.1% { transform: skewX(-12.5deg) skewY(-12.5deg); }
    22.2% { transform: skewX(6.25deg) skewY(6.25deg); }
    33.3% { transform: skewX(-3.125deg) skewY(-3.125deg); }
    44.4% { transform: skewX(1.5625deg) skewY(1.5625deg); }
    55.5% { transform: skewX(-0.78125deg) skewY(-0.78125deg); }
    66.6% { transform: skewX(0.390625deg) skewY(0.390625deg); }
    77.7% { transform: skewX(-0.1953125deg) skewY(-0.1953125deg); }
    88.8% { transform: skewX(0.09765625deg) skewY(0.09765625deg); }
    100% { transform: skewX(0deg) skewY(0deg); }
}

/* Animation 17 - Heartbeat */
.abp-animation-animation-17 {
    animation: abp-heartbeat 1.5s ease infinite;
}

@keyframes abp-heartbeat {
    0% { transform: scale(1); }
    14% { transform: scale(1.3); }
    28% { transform: scale(1); }
    42% { transform: scale(1.3); }
    70% { transform: scale(1); }
}

/* Animation 18 - Rubber Band */
.abp-animation-animation-18 {
    animation: abp-rubber-band 1s ease;
}

@keyframes abp-rubber-band {
    0% { transform: scale(1); }
    30% { transform: scaleX(1.25) scaleY(0.75); }
    40% { transform: scaleX(0.75) scaleY(1.25); }
    50% { transform: scaleX(1.15) scaleY(0.85); }
    65% { transform: scaleX(0.95) scaleY(1.05); }
    75% { transform: scaleX(1.05) scaleY(0.95); }
    100% { transform: scale(1); }
}

/* Animation 19 - Light Speed */
.abp-animation-animation-19 {
    animation: abp-light-speed 1s ease;
}

@keyframes abp-light-speed {
    from {
        opacity: 0;
        transform: translateX(200px) skewX(-30deg);
    }
    60% {
        opacity: 1;
        transform: translateX(0) skewX(20deg);
    }
    80% {
        transform: translateX(0) skewX(-5deg);
    }
    to {
        transform: translateX(0) skewX(0deg);
    }
}

/* Animation 20 - Flip In X */
.abp-animation-animation-20 {
    animation: abp-flip-in-x 0.8s ease;
}

@keyframes abp-flip-in-x {
    from {
        opacity: 0;
        transform: perspective(400px) rotateX(90deg);
    }
    40% {
        transform: perspective(400px) rotateX(-20deg);
    }
    60% {
        transform: perspective(400px) rotateX(10deg);
    }
    80% {
        transform: perspective(400px) rotateX(-5deg);
    }
    to {
        opacity: 1;
        transform: perspective(400px) rotateX(0deg);
    }
}

/* Animation 21 - Roll In */
.abp-animation-animation-21 {
    animation: abp-roll-in 0.8s ease;
}

@keyframes abp-roll-in {
    from {
        opacity: 0;
        transform: translateX(-100%) rotate(-120deg);
    }
    to {
        opacity: 1;
        transform: translateX(0) rotate(0deg);
    }
}

/* Animation 22 - Spin */
.abp-animation-animation-22 {
    animation: abp-spin 1s linear infinite;
}

@keyframes abp-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* Animation 23 - Fade In Up */
.abp-animation-animation-23 {
    animation: abp-fade-in-up 0.8s ease;
}

@keyframes abp-fade-in-up {
    from {
        opacity: 0;
        transform: translate3d(0, 40px, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

/* Animation 24 - Fade In Down */
.abp-animation-animation-24 {
    animation: abp-fade-in-down 0.8s ease;
}

@keyframes abp-fade-in-down {
    from {
        opacity: 0;
        transform: translate3d(0, -40px, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

/* Animation 25 - Fade In Left */
.abp-animation-animation-25 {
    animation: abp-fade-in-left 0.8s ease;
}

@keyframes abp-fade-in-left {
    from {
        opacity: 0;
        transform: translate3d(-40px, 0, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

/* Animation 26 - Fade In Right */
.abp-animation-animation-26 {
    animation: abp-fade-in-right 0.8s ease;
}

@keyframes abp-fade-in-right {
    from {
        opacity: 0;
        transform: translate3d(40px, 0, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

/* Animation 27 - Zoom In Up */
.abp-animation-animation-27 {
    animation: abp-zoom-in-up 0.8s ease;
}

@keyframes abp-zoom-in-up {
    from {
        opacity: 0;
        transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    }
    60% {
        opacity: 1;
        transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    }
    to {
        opacity: 1;
        transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
    }
}

/* Animation 28 - Zoom In Down */
.abp-animation-animation-28 {
    animation: abp-zoom-in-down 0.8s ease;
}

@keyframes abp-zoom-in-down {
    from {
        opacity: 0;
        transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    }
    60% {
        opacity: 1;
        transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    }
    to {
        opacity: 1;
        transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
    }
}

/* Animation 29 - Elastic */
.abp-animation-animation-29 {
    animation: abp-elastic 1s ease;
}

@keyframes abp-elastic {
    0% {
        transform: scale(1);
    }
    30% {
        transform: scaleX(1.25) scaleY(0.75);
    }
    40% {
        transform: scaleX(0.75) scaleY(1.25);
    }
    50% {
        transform: scaleX(1.15) scaleY(0.85);
    }
    65% {
        transform: scaleX(0.95) scaleY(1.05);
    }
    75% {
        transform: scaleX(1.05) scaleY(0.95);
    }
    100% {
        transform: scale(1);
    }
}

/* Animation 30 - Gradient Shift */
.abp-animation-animation-30 {
    background-size: 200% 200%;
    animation: abp-gradient-shift-anim 3s ease infinite;
}

@keyframes abp-gradient-shift-anim {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* Animation 31 - Glow Pulse */
.abp-animation-animation-31 {
    animation: abp-glow-pulse 2s ease infinite;
}

@keyframes abp-glow-pulse {
    0%, 100% {
        box-shadow: 0 0 5px rgba(102, 126, 234, 0.5);
    }
    50% {
        box-shadow: 0 0 20px rgba(102, 126, 234, 0.8), 0 0 30px rgba(102, 126, 234, 0.6);
    }
}

/* Animation 32 - Float */
.abp-animation-animation-32 {
    animation: abp-float 3s ease-in-out infinite;
}

@keyframes abp-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-20px); }
}

/* Animation 33 - Rotate Continuous */
.abp-animation-animation-33 {
    animation: abp-rotate-continuous 2s linear infinite;
}

@keyframes abp-rotate-continuous {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* Animation 34 - Scale Pulse */
.abp-animation-animation-34 {
    animation: abp-scale-pulse 2s ease infinite;
}

@keyframes abp-scale-pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.1); }
}

/* Animation 35 - Slide and Fade */
.abp-animation-animation-35 {
    animation: abp-slide-fade 1s ease;
}

@keyframes abp-slide-fade {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Animation 36 - Rotate and Scale */
.abp-animation-animation-36 {
    animation: abp-rotate-scale 1s ease;
}

@keyframes abp-rotate-scale {
    from {
        opacity: 0;
        transform: rotate(-180deg) scale(0);
    }
    to {
        opacity: 1;
        transform: rotate(0) scale(1);
    }
}

/* Animation 37 - Bounce In Left */
.abp-animation-animation-37 {
    animation: abp-bounce-in-left 1s ease;
}

@keyframes abp-bounce-in-left {
    0% {
        opacity: 0;
        transform: translateX(-2000px);
    }
    60% {
        opacity: 1;
        transform: translateX(30px);
    }
    80% {
        transform: translateX(-10px);
    }
    100% {
        transform: translateX(0);
    }
}

/* Animation 38 - Bounce In Right */
.abp-animation-animation-38 {
    animation: abp-bounce-in-right 1s ease;
}

@keyframes abp-bounce-in-right {
    0% {
        opacity: 0;
        transform: translateX(2000px);
    }
    60% {
        opacity: 1;
        transform: translateX(-30px);
    }
    80% {
        transform: translateX(10px);
    }
    100% {
        transform: translateX(0);
    }
}

/* Animation 39 - Bounce In Up */
.abp-animation-animation-39 {
    animation: abp-bounce-in-up 1s ease;
}

@keyframes abp-bounce-in-up {
    0% {
        opacity: 0;
        transform: translateY(2000px);
    }
    60% {
        opacity: 1;
        transform: translateY(-30px);
    }
    80% {
        transform: translateY(10px);
    }
    100% {
        transform: translateY(0);
    }
}

/* Animation 40 - Bounce In Down */
.abp-animation-animation-40 {
    animation: abp-bounce-in-down 1s ease;
}

@keyframes abp-bounce-in-down {
    0% {
        opacity: 0;
        transform: translateY(-2000px);
    }
    60% {
        opacity: 1;
        transform: translateY(30px);
    }
    80% {
        transform: translateY(-10px);
    }
    100% {
        transform: translateY(0);
    }
}

/* Animation 41 - Hinge */
.abp-animation-animation-41 {
    animation: abp-hinge 2s ease;
}

@keyframes abp-hinge {
    0% {
        opacity: 1;
        transform: rotate(0);
        transform-origin: top left;
    }
    20%, 60% {
        transform: rotate(80deg);
        transform-origin: top left;
    }
    40% {
        transform: rotate(60deg);
        transform-origin: top left;
    }
    80% {
        transform: rotate(60deg) translateY(0);
        transform-origin: top left;
        opacity: 1;
    }
    100% {
        transform: translateY(700px);
        opacity: 0;
    }
}

/* Animation 42 - Jack In The Box */
.abp-animation-animation-42 {
    animation: abp-jack-in-box 1s ease;
}

@keyframes abp-jack-in-box {
    from {
        opacity: 0;
        transform: scale(0.1) rotate(30deg);
        transform-origin: center bottom;
    }
    50% {
        transform: rotate(-10deg);
    }
    70% {
        transform: rotate(3deg);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* Animation 43 - Flash */
.abp-animation-animation-43 {
    animation: abp-flash 1s ease;
}

@keyframes abp-flash {
    0%, 50%, 100% { opacity: 1; }
    25%, 75% { opacity: 0; }
}

/* Animation 44 - Glow */
.abp-animation-animation-44 {
    animation: abp-glow-anim 2s ease infinite;
}

@keyframes abp-glow-anim {
    0%, 100% {
        box-shadow: 0 0 5px rgba(102, 126, 234, 0.5);
    }
    50% {
        box-shadow: 0 0 20px rgba(102, 126, 234, 1), 0 0 30px rgba(102, 126, 234, 0.8);
    }
}

/* Animation 45 - Fade In Scale */
.abp-animation-animation-45 {
    animation: abp-fade-in-scale 0.8s ease;
}

@keyframes abp-fade-in-scale {
    from {
        opacity: 0;
        transform: scale(0.8);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* Animation 46 - Rotate In Clockwise */
.abp-animation-animation-46 {
    animation: abp-rotate-in-cw 1s ease;
}

@keyframes abp-rotate-in-cw {
    from {
        opacity: 0;
        transform: rotate(-200deg);
    }
    to {
        opacity: 1;
        transform: rotate(0);
    }
}

/* Animation 47 - Rotate In Counter Clockwise */
.abp-animation-animation-47 {
    animation: abp-rotate-in-ccw 1s ease;
}

@keyframes abp-rotate-in-ccw {
    from {
        opacity: 0;
        transform: rotate(200deg);
    }
    to {
        opacity: 1;
        transform: rotate(0);
    }
}

/* Animation 48 - Flip In Y */
.abp-animation-animation-48 {
    animation: abp-flip-in-y 0.8s ease;
}

@keyframes abp-flip-in-y {
    from {
        opacity: 0;
        transform: perspective(400px) rotateY(90deg);
    }
    40% {
        transform: perspective(400px) rotateY(-20deg);
    }
    60% {
        transform: perspective(400px) rotateY(10deg);
    }
    80% {
        transform: perspective(400px) rotateY(-5deg);
    }
    to {
        opacity: 1;
        transform: perspective(400px) rotateY(0deg);
    }
}

/* Animation 49 - Slide In Rotate */
.abp-animation-animation-49 {
    animation: abp-slide-in-rotate 1s ease;
}

@keyframes abp-slide-in-rotate {
    from {
        opacity: 0;
        transform: translateX(-100px) rotate(-45deg);
    }
    to {
        opacity: 1;
        transform: translateX(0) rotate(0);
    }
}

/* Animation 50 - Zoom In Rotate */
.abp-animation-animation-50 {
    animation: abp-zoom-in-rotate 1s ease;
}

@keyframes abp-zoom-in-rotate {
    from {
        opacity: 0;
        transform: scale(0) rotate(180deg);
    }
    to {
        opacity: 1;
        transform: scale(1) rotate(0);
    }
}

/* Animation 51-60 - Additional Creative Animations */

/* Animation 51 - Fade In with Bounce */
.abp-animation-animation-51 {
    animation: abp-fade-bounce 1.2s ease;
}

@keyframes abp-fade-bounce {
    0% {
        opacity: 0;
        transform: translateY(20px) scale(0.9);
    }
    50% {
        transform: translateY(-10px) scale(1.05);
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* Animation 52 - Spiral */
.abp-animation-animation-52 {
    animation: abp-spiral 1s ease;
}

@keyframes abp-spiral {
    from {
        opacity: 0;
        transform: rotate(720deg) scale(0);
    }
    to {
        opacity: 1;
        transform: rotate(0) scale(1);
    }
}

/* Animation 53 - Fold In */
.abp-animation-animation-53 {
    animation: abp-fold-in 0.8s ease;
}

@keyframes abp-fold-in {
    from {
        opacity: 0;
        transform: perspective(1000px) rotateX(-90deg);
    }
    to {
        opacity: 1;
        transform: perspective(1000px) rotateX(0);
    }
}

/* Animation 54 - Unfold */
.abp-animation-animation-54 {
    animation: abp-unfold 0.8s ease;
}

@keyframes abp-unfold {
    from {
        opacity: 0;
        transform: perspective(1000px) rotateX(90deg);
    }
    to {
        opacity: 1;
        transform: perspective(1000px) rotateX(0);
    }
}

/* Animation 55 - Zoom and Rotate */
.abp-animation-animation-55 {
    animation: abp-zoom-rotate 1s ease;
}

@keyframes abp-zoom-rotate {
    0% {
        opacity: 0;
        transform: scale(0) rotate(-180deg);
    }
    50% {
        transform: scale(1.2) rotate(-90deg);
    }
    100% {
        opacity: 1;
        transform: scale(1) rotate(0);
    }
}

/* Animation 56 - Slide and Rotate */
.abp-animation-animation-56 {
    animation: abp-slide-rotate 1s ease;
}

@keyframes abp-slide-rotate {
    from {
        opacity: 0;
        transform: translateX(-100px) rotateY(90deg);
    }
    to {
        opacity: 1;
        transform: translateX(0) rotateY(0);
    }
}

/* Animation 57 - Scale and Fade */
.abp-animation-animation-57 {
    animation: abp-scale-fade 1s ease;
}

@keyframes abp-scale-fade {
    from {
        opacity: 0;
        transform: scale(0.5);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* Animation 58 - Elastic Bounce */
.abp-animation-animation-58 {
    animation: abp-elastic-bounce 1.5s ease;
}

@keyframes abp-elastic-bounce {
    0% {
        opacity: 0;
        transform: scale(0);
    }
    50% {
        transform: scale(1.2);
    }
    70% {
        transform: scale(0.9);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

/* Animation 59 - Spin Fade */
.abp-animation-animation-59 {
    animation: abp-spin-fade 1s ease;
}

@keyframes abp-spin-fade {
    from {
        opacity: 0;
        transform: rotate(-360deg) scale(0);
    }
    to {
        opacity: 1;
        transform: rotate(0) scale(1);
    }
}

/* Animation 60 - Complex Entry */
.abp-animation-animation-60 {
    animation: abp-complex-entry 1.2s ease;
}

@keyframes abp-complex-entry {
    0% {
        opacity: 0;
        transform: translateY(50px) rotateX(90deg) scale(0.5);
    }
    50% {
        opacity: 0.8;
        transform: translateY(-10px) rotateX(-10deg) scale(1.05);
    }
    100% {
        opacity: 1;
        transform: translateY(0) rotateX(0) scale(1);
    }
}

