:root { --addad-bg: #1a73e8; --addad-color: #ffffff; --addad-radius: 8px; }

.addad-wrapper { display: inline-block; vertical-align: middle; }

.addad-btn {
    display: inline-flex; flex-direction: column; align-items: center; gap: 6px;
    padding: 10px 20px; background: var(--addad-bg); color: var(--addad-color);
    border: none; border-radius: var(--addad-radius); font-size: 0.95rem;
    font-weight: 600; cursor: not-allowed; transition: opacity 0.3s, transform 0.2s;
    position: relative; overflow: hidden; min-width: 200px; text-align: center;
}
.addad-btn:focus-visible { outline: 3px solid var(--addad-bg); outline-offset: 3px; }
.addad-btn.addad-ready   { cursor: pointer; opacity: 1; }
.addad-btn.addad-error   { background: #e53935; }

.addad-progress { width: 100%; height: 4px; background: rgba(255,255,255,0.25); border-radius: 2px; overflow: hidden; }
.addad-progress-bar { height: 100%; width: 100%; background: rgba(255,255,255,0.8); }

/* Pulse */
.addad-anim-pulse { animation: addad-pulse 1.6s ease-in-out infinite; }
@keyframes addad-pulse { 0%,100% { box-shadow: 0 0 0 0 rgba(26,115,232,0.5); } 50% { box-shadow: 0 0 0 10px rgba(26,115,232,0); } }

/* Shake */
.addad-anim-shake { animation: addad-shake 0.5s ease-in-out infinite; }
@keyframes addad-shake { 0%,100% { transform: translateX(0); } 25% { transform: translateX(-4px); } 75% { transform: translateX(4px); } }

/* Bounce */
.addad-anim-bounce { animation: addad-bounce 0.8s ease-in-out infinite; }
@keyframes addad-bounce { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }

/* Glow */
.addad-anim-glow { animation: addad-glow 1.4s ease-in-out infinite alternate; }
@keyframes addad-glow { from { box-shadow: 0 0 6px var(--addad-bg); } to { box-shadow: 0 0 20px var(--addad-bg), 0 0 40px var(--addad-bg); } }

/* Ripple */
.addad-anim-ripple::after { content: ''; position: absolute; inset: 0; background: rgba(255,255,255,0.2); border-radius: inherit; animation: addad-ripple-wave 1.5s linear infinite; pointer-events: none; }
@keyframes addad-ripple-wave { 0% { transform: scale(1); opacity: 0.4; } 100% { transform: scale(1.15); opacity: 0; } }

.addad-btn.addad-ready         { animation: none; }
.addad-btn.addad-ready::after  { animation: none; }

[dir="rtl"] .addad-btn { font-family: inherit; }
