/* ==========================================================================
   AITHOR.UZ — base styles (v8)
   - Fixed selectors and rgba alpha values
   - Added promo modal styles
   ========================================================================== */

/* Layout */
.container-xl{max-width:1200px;margin:0 auto;padding:0 1rem;}
html{scroll-behavior:smooth}

/* Typography & UI tokens */
.gradient-text{background:linear-gradient(90deg,#3b72ff,#8b5cf6);-webkit-background-clip:text;background-clip:text;color:transparent;}
.h2{font-size:1.75rem;font-weight:800;}
.h3{font-size:1.1rem;font-weight:700;}
.lead{color:rgba(226,232,240,.85);max-width:56rem;}
.muted{color:rgba(203,213,225,.85);}

/* Cards & tiles */
.card{position:relative;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:1rem;box-shadow:0 0 40px rgba(10,132,255,.12);}
.li-tile{padding:1rem;border:1px solid rgba(255,255,255,.1);border-radius:.9rem;background:rgba(15,23,42,.6);}
.step{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:.9rem;padding:1rem;}

/* Inputs */
.inp{background:rgba(15,23,42,.6);border:1px solid rgba(255,255,255,.1);border-radius:.75rem;padding:.75rem 1rem;outline:none;width:100%;color:#e5e7eb;}
.inp::placeholder{color:rgba(203,213,225,.7);}
.inp:focus{box-shadow:0 0 0 2px rgba(10,132,255,.35);}

/* Buttons */
.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:#0a84ff;color:#fff;padding:.75rem 1.1rem;border-radius:.9rem;font-weight:600;}
.btn-primary:hover{background:#2b95ff;}
.btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:1px solid rgba(255,255,255,.15);padding:.75rem 1.1rem;border-radius:.9rem;color:#e5e7eb;}
.btn-outline:hover{background:rgba(255,255,255,.05);}

/* Button ripple (tap-feedback) */
.btn-primary,.btn-outline{position:relative;overflow:hidden;}
.btn-primary::after,.btn-outline::after{content:"";position:absolute;inset:0;background:radial-gradient(circle,rgba(255,255,255,.25),transparent 45%);transform:scale(0);transition:transform .4s ease;opacity:0;}
.btn-primary:active::after,.btn-outline:active::after{transform:scale(2.5);opacity:.5}

/* Accessible focus */
:focus-visible{outline:2px solid rgba(10,132,255,.7);outline-offset:2px;}
.btn-primary:focus-visible{box-shadow:0 0 0 3px rgba(10,132,255,.45);}
.inp:focus-visible{box-shadow:0 0 0 2px rgba(10,132,255,.35);}

/* Lists */
.ul-dots{list-style:disc;margin-left:1.2rem;color:rgba(203,213,225,.9);}
.ul-kpi{list-style:disc;margin-left:1.2rem;}
.kpi{font-weight:800;font-size:1.1rem;}
.kpi[data-count]{position:relative;}

/* Decorative background */
.bg-blur-orbs::before,.bg-blur-orbs::after{content:"";position:absolute;z-index:-1;filter:blur(80px);opacity:.45;border-radius:50%;}
.bg-blur-orbs::before{top:-120px;left:-120px;width:380px;height:380px;background:radial-gradient(circle,rgba(59,114,255,.6),transparent 60%);}
.bg-blur-orbs::after{top:60px;right:-120px;width:360px;height:360px;background:radial-gradient(circle,rgba(139,92,246,.5),transparent 60%);}

/* Partners slider */
.partners-slider{overflow:hidden;position:relative;width:100%;}
.partners-track{display:flex;gap:4rem;align-items:center;animation:slide-left 25s linear infinite;}
.partners-track img{height:52px;opacity:.8;transition:opacity .3s,transform .3s;filter:grayscale(30%);}
.partners-track img:hover{opacity:1;transform:scale(1.06);filter:none;}
@keyframes slide-left{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* Reveal-on-scroll */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease;}
.reveal.show{opacity:1;transform:translateY(0);}

/* Tilt micro-3D */
.tilt{transition:transform .25s ease;}
.tilt:hover{transform:perspective(800px) rotateX(2deg) rotateY(-2deg)}

/* Lazy images */
img[loading="lazy"]{filter:blur(0);transition:filter .3s ease}

/* “Back to top” button */
#toTop{position:fixed;right:18px;bottom:18px;z-index:60;display:none;padding:.7rem .9rem;border-radius:.8rem;background:#0a84ff;color:#fff;font-weight:700;box-shadow:0 10px 20px rgba(10,132,255,.3);}
#toTop.show{display:inline-flex}

/* Toast */
.toast{position:fixed;top:16px;left:50%;transform:translateX(-50%) translateY(-20px);background:rgba(15,23,42,.9);border:1px solid rgba(255,255,255,.15);color:#fff;padding:.7rem 1rem;border-radius:.8rem;opacity:0;pointer-events:none;transition:transform .25s ease,opacity .25s ease;}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* Safe frame hover */
.framefx{transition:border-color .25s ease, box-shadow .25s ease;}
.framefx::after{content:"";position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .25s ease;}
.framefx:hover{border-color:rgba(59,114,255,.35);box-shadow:0 10px 30px rgba(59,114,255,.18), inset 0 0 0 1px rgba(139,92,246,.25);}
.framefx:hover::after{opacity:.35;background:linear-gradient(120deg,rgba(59,114,255,.22),rgba(139,92,246,.22))}

/* Pricing misc */
.tariff{font-weight:800;font-size:1.2rem;}
.price{font-weight:900;font-size:1.35rem;}

/* Promo Modal */
.promo-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(2,6,23,.6);backdrop-filter:blur(6px);z-index:80;}
.promo-modal.show{display:flex;}
.promo-dialog{width:min(520px,92vw);padding:1rem;border-radius:1rem;border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 60px rgba(0,0,0,.45);}
.promo-close{position:absolute;right:.75rem;top:.5rem;font-size:1.25rem;line-height:1;border:1px solid rgba(255,255,255,.15);border-radius:.5rem;width:2rem;height:2rem;background:transparent;color:#e5e7eb;}
.promo-close:hover{background:rgba(255,255,255,.06);}
.promo-body{padding:.5rem 0 0 0;}
.promo-timer{margin-top:.75rem;font-weight:900;font-size:1.8rem;letter-spacing:.04em;}

/* Motion reduction */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .reveal{transition:none}
  .tilt,.btn-primary::after,.btn-outline::after,.framefx,.partners-track{transition:none}
  .partners-track{animation:none}
}
