/* NewTheme main styles */
:root{
  --primary:#0d6efd;
  --primary-600:#0b5ed7;
  --dark:#0b2239;
  --muted:#6c757d;
  --bg:#f8f9fa;
}
html[dir="rtl"] body{ text-align:right; }
body{ background:#fff; color:#1f2937; }
.navbar .navbar-brand span{ color:var(--dark); }
.navbar .btn{ white-space:nowrap; }

.hero{
  background:linear-gradient(180deg, #f6fbff 0%, #fff 100%);
}
.hero .badge{ font-size:.85rem; }
.hero h1{ font-weight:800; line-height:1.3; }
.hero p.lead{ color:var(--muted); }
.hero .cta img{ max-width:100%; height:auto; }

.section-title{ font-weight:800; margin-bottom:1.25rem; }
.section-sub{ color:var(--muted); }

.card-feature{ border:none; border-radius:12px; box-shadow:0 6px 24px rgba(10,21,42,.06); }
.card-feature .icon{ width:48px; height:48px; display:inline-flex; align-items:center; justify-content:center; border-radius:10px; background:#e7f1ff; color:var(--primary); }
.card-feature h6{ margin-top:.75rem; font-weight:700; }

.steps{ counter-reset: step; }
.step{ position:relative; padding:1rem; padding-inline-start:5rem; min-height:3.25rem; }
.step::before{
  counter-increment: step;
  content: counter(step);
  position:absolute; inset-inline-start:1rem; top:.5rem; width:2.5rem; height:2.5rem;
  border-radius:50%; background:#eef5ff; color:var(--primary); display:flex; align-items:center; justify-content:center; font-weight:800; z-index:0;
}
.step h6, .step p{ position:relative; z-index:1; }
.step h6{ margin:0 40px .25rem 0; padding-inline-start:.5rem; }

.footer-links a{ color:inherit; opacity:.85; }
.footer-links a:hover{ opacity:1; }

.btn-primary{ background:var(--primary); border-color:var(--primary); }
.btn-primary:hover{ background:var(--primary-600); border-color:var(--primary-600); }

.badge-soft{ background:#eff6ff; color:var(--primary); border:1px solid #dbeafe; }

/* Utilities */
.text-muted-700{ color:#4b5563; }
.rounded-12{ border-radius:12px; }
.shadow-soft{ box-shadow:0 6px 24px rgba(10,21,42,.06); }

/* Forms */
.form-control:focus{ box-shadow:0 0 0 .25rem rgba(13,110,253,.15); border-color:var(--primary); }
label .required{ color:#dc3545; }

/* Floating quick call button (mobile only) */
.quick-call-btn{
  position:fixed; left:0; right:0; bottom:0; z-index:1030;
  margin:0 auto; max-width:720px; display:block; text-align:center;
  background:var(--primary); color:#fff; padding:.9rem 1rem; font-weight:800; text-decoration:none;
  box-shadow:0 -4px 14px rgba(13,110,253,.25); border-top-left-radius:12px; border-top-right-radius:12px;
}
@media (min-width: 992px){ .quick-call-btn{ display:none; } }
