/* OIO External Download CTA - styles */
.oiocta-wrap { margin: 14px 0; }
.oiocta-wrap.align-center { text-align: center; }
.oiocta-wrap.align-left { text-align: left; }
.oiocta-wrap.align-right { text-align: right; }

.oiocta-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 22px;
  border-radius: 40px;
  font-weight: 700;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease, background .25s;
  will-change: transform, box-shadow;
}

.oiocta-full { width: 100%; justify-content: center; }

.oiocta-ic { font-size: 1.05em; line-height: 1; }
.oiocta-text { position: relative; z-index: 2; }

/* Neon style */
.oiocta-neon {
  color: #fff;
  background: linear-gradient(90deg, #00D2FF, #3A7BD5);
  box-shadow: 0 0 12px rgba(0,210,255,.6), 0 0 30px rgba(58,123,213,.5);
  animation: oioctaGlow 2s infinite;
}
.oiocta-neon:hover {
  transform: translateY(-1px) scale(1.03);
  box-shadow: 0 0 18px rgba(0,210,255,.95), 0 0 40px rgba(58,123,213,.7);
}

/* Glass style */
.oiocta-glass { 
  color: #2a2f3a;
  background: rgba(255,255,255,.65);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,.6);
  box-shadow: 0 10px 30px rgba(0,0,0,.06);
}
.oiocta-glass:hover { transform: translateY(-1px); box-shadow: 0 12px 36px rgba(0,0,0,.12); }

/* Minimal style */
.oiocta-minimal { 
  color: #fff; 
  background: #111;
  border: 1px solid #333;
}
.oiocta-minimal:hover { transform: translateY(-1px); box-shadow: 0 8px 24px rgba(0,0,0,.25); }

/* Extra Animation Styles */
.oiocta-pulse { color:#fff; background:#1a73e8; animation:oioctaPulse 1.8s infinite; }
@keyframes oioctaPulse {
  0%,100%{ box-shadow:0 0 0 0 rgba(26,115,232,.6) }
  50%{ box-shadow:0 0 25px 6px rgba(26,115,232,.45) }
}

.oiocta-wave { color:#fff; background:linear-gradient(90deg,#7F00FF,#E100FF); position:relative; }
.oiocta-wave::after{
  content:""; position:absolute; left:-150%; top:0; width:50%; height:100%;
  background:linear-gradient(120deg, rgba(255,255,255,.25), rgba(255,255,255,0));
  transform:skewX(-20deg);
  animation:oioctaShine 2.2s infinite;
}
@keyframes oioctaShine { 0%{left:-150%;} 60%{left:150%;} 100%{left:150%;} }

.oiocta-bounce { color:#fff; background:#0f9d58; }
.oiocta-bounce:hover { animation:oioctaBounce .6s; }
@keyframes oioctaBounce {
  0%,100%{ transform:translateY(0) } 
  30%{ transform:translateY(-6px) }
  60%{ transform:translateY(3px) }
}

.oiocta-shine { color:#111; background:#ffd54f; position:relative; }
.oiocta-shine::after{
  content:""; position:absolute; inset:0; background:linear-gradient(45deg, rgba(255,255,255,.4), rgba(255,255,255,0));
  mix-blend-mode:screen; animation:oioctaGlowSweep 3s infinite;
}
@keyframes oioctaGlowSweep { 0%{transform:translateX(-100%)} 50%{transform:translateX(0)} 100%{transform:translateX(100%)} }

/* Spinner + Progress */
.oiocta-spinner {
  width: 16px; height: 16px;
  border: 2px solid rgba(255,255,255,.35);
  border-top-color: rgba(255,255,255,1);
  border-radius: 50%;
  margin-left: 4px;
  opacity: 0;
  transform: scale(.6);
  transition: opacity .2s ease;
}
.oiocta-btn.oiocta-loading .oiocta-spinner { opacity: 1; animation: oioctaSpin 0.8s linear infinite; }

.oiocta-progress {
  position:absolute; left:0; bottom:0; height:3px; width:100%;
  background: rgba(255,255,255,.15);
  overflow:hidden; opacity:0; transition: opacity .2s;
}
.oiocta-btn.oiocta-loading .oiocta-progress { opacity:1; }
.oiocta-progress .oiocta-bar {
  display:block; height:100%; width:0%;
  background: linear-gradient(90deg, #00D2FF, #3A7BD5);
  transition: width linear;
}

@keyframes oioctaGlow {
  0%, 100% { box-shadow: 0 0 12px rgba(0,210,255,.6), 0 0 30px rgba(58,123,213,.5); }
  50% { box-shadow: 0 0 18px rgba(0,210,255,.95), 0 0 40px rgba(58,123,213,.7); }
}
@keyframes oioctaSpin { to { transform: rotate(360deg); } }

.oiocta-note {
  display: block;
  font-size: 12px;
  margin-top: 6px;
  color: #6f7a88;
}
