/* base */
*{box-sizing:border-box}
body{font-family:var(--font-family);background:var(--bg);color:var(--text);margin:0;line-height:1.45}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline}
.no-underline{text-decoration:none !important}

/* WhatsApp button: always at the bottom */
#floatingWhatsappBtn {
  background-color: #25D366;
  bottom: 20px; /* very bottom */
}

/* Floating buttons common style */
.floating-btn {
  position: fixed;
  right: 20px;
  z-index: 9999;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 24px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  transition: transform 0.2s ease;
}

.floating-btn:hover {
  transform: scale(1.1);
}

/* hero */
.hero{background:linear-gradient(90deg,var(--primary-color), #7c3aed);padding:56px 0;color:white;text-align:center}
.hero .lead{opacity:0.95}

/* cards */
.card-app{border-radius:12px;box-shadow:0 6px 18px rgba(2,6,23,0.04);padding:18px}
.card{border-radius:12px;padding:16px}

/* text */
.muted{color:var(--muted)}
.learn-more{font-weight:600}

/* screenshot */
.screenshot{width:100%;height:auto;border-radius:8px;box-shadow:0 6px 18px rgba(2,6,23,0.04)}

/* footer */
.site-footer .muted{opacity:0.9}

/* theme buttons */
.btn-primary{background:var(--primary-color);border-color:var(--primary-color);border-radius:var(--btn-radius);color:#fff}
.btn-outline-light{border-color:#fff;color:#fff;border-radius:var(--btn-radius)}

/* ===== Loader Overlay ===== */
.loader-overlay {
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: var(--bs-body-bg, #fff);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

/* Spinner container to hold ring + logo */
.spinner-container {
  position: relative;
  width: 155px;
  height: 155px;
}

/* Spinning glow ring */
.spinner-ring {
  position: absolute;
  width: 100%;
  height: 100%;
  border: 4px solid rgba(13, 110, 253, 0.15);
  border-top: 4px solid var(--bs-primary, #0d6efd);
  border-radius: 50%;
  animation: spin 1.2s linear infinite, glow 2s ease-in-out infinite alternate;
}

/* Centered Logo inside the spinner */
.spinner-logo {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 150px;   /* as per your instruction */
  height: 150px;  /* as per your instruction */
  object-fit: cover;
  animation: fadePulse 2s ease-in-out infinite alternate;
}

/* Animations */
@keyframes spin {
  to { transform: rotate(360deg); }
}

@keyframes glow {
  0% { box-shadow: 0 0 10px rgba(13,110,253,0.3); }
  100% { box-shadow: 0 0 25px rgba(13,110,253,0.8); }
}

@keyframes fadePulse {
  0% { opacity: 0.85; }
  100% { opacity: 1; }
}

/* dark mode */
body.dark{background:#071022;color:#e6eef6}
body.dark .hero{background:linear-gradient(90deg,#0b4b57,#4b247b)}
body.dark .card-app, body.dark .card{background:#0b1220;color:#e6eef6}

/* subtle reveal animation for a polished feel */
.reveal-up { opacity:0; transform:translateY(12px); animation:revealUp 0.6s forwards; }
@keyframes revealUp { to { opacity:1; transform:translateY(0); } }

/* responsive */
@media (max-width:576px){
  .hero{padding:36px 12px}
  .hero h1{font-size:20px}
}
