@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@300;400;500;600;700;800&display=swap');

* {
  font-family: 'Vazirmatn', sans-serif;
}

html {
  font-size: 14px;
  direction: rtl;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 24px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  background-attachment: fixed;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}

/* Icon Spacing - RTL Support */
i.fas, i.far, i.fab {
  display: inline-block;
}

/* Icons before text (in RTL, icons appear on the right) */
.navbar-brand i,
.nav-link i,
footer i,
.btn i,
h1 i,
h2 i,
h3 i,
h4 i,
h5 i,
h6 i {
  margin-left: 0.5rem;
}

/* Specific spacing for different contexts */
.btn i {
  margin-left: 0.5rem;
}

.alert i {
  margin-left: 0.5rem;
}

.card-title i {
  margin-left: 0.5rem;
}

/* Navbar Gradient */
.navbar {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.1);
  backdrop-filter: blur(10px);
}

.navbar-brand {
  color: white !important;
  font-weight: 700;
  font-size: 1.5rem;
  text-shadow: 2px 2px 4px rgba(0,0,0,0.2);
}

.navbar-brand i {
  margin-left: 0.6rem;
}

.nav-link {
  color: rgba(255,255,255,0.9) !important;
  font-weight: 500;
  transition: all 0.3s ease;
  position: relative;
}

.nav-link i {
  margin-left: 0.4rem;
}

.nav-link:hover {
  color: white !important;
  transform: translateY(-2px);
}

.nav-link::after {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  width: 0;
  height: 2px;
  background: white;
  transition: width 0.3s ease;
}

.nav-link:hover::after {
  width: 100%;
}

/* Main Container */
main {
  background: white;
  border-radius: 20px;
  padding: 3rem;
  box-shadow: 0 10px 40px rgba(0,0,0,0.1);
  margin-top: 2rem;
  margin-bottom: 2rem;
  animation: fadeInUp 0.6s ease;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Headings */
h1 {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-weight: 800;
  margin-bottom: 1.5rem;
}

h1 i {
  margin-left: 0.7rem;
}

h2, h3 {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-weight: 700;
}

h3 i {
  margin-left: 0.5rem;
}

/* Feature Box Headings */
.feature-box h3 {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-weight: 700;
}

/* Privacy Content Headings */
.privacy-content h3 {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-weight: 700;
}

/* Glass Effect Card Headings */
.glass-effect h3 {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-weight: 700;
}

/* Cards */
.card {
  border: none;
  border-radius: 15px;
  box-shadow: 0 5px 20px rgba(0,0,0,0.08);
  transition: all 0.3s ease;
  overflow: hidden;
}

.card:hover {
  transform: translateY(-10px);
  box-shadow: 0 15px 40px rgba(0,0,0,0.15);
}

.card-gradient {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
}

.card-gradient-2 {
  background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
  color: white;
}

.card-gradient-3 {
  background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
  color: white;
}

/* Override gradient text for h3 inside gradient cards - make them white */
.card-gradient h3,
.card-gradient-2 h3,
.card-gradient-3 h3 {
  background: none !important;
  -webkit-background-clip: unset !important;
  -webkit-text-fill-color: white !important;
  background-clip: unset !important;
  color: white !important;
  font-weight: 700;
}

/* Icons */
.icon-box {
  width: 80px;
  height: 80px;
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.5rem;
  margin-bottom: 1rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  box-shadow: 0 8px 20px rgba(102,126,234,0.3);
}

.icon-box-2 {
  width: 80px;
  height: 80px;
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.5rem;
  margin-bottom: 1rem;
  background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
  color: white;
  box-shadow: 0 8px 20px rgba(240,147,251,0.3);
}

.icon-box-3 {
  width: 80px;
  height: 80px;
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.5rem;
  margin-bottom: 1rem;
  background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
  color: white;
  box-shadow: 0 8px 20px rgba(79,172,254,0.3);
}

/* Icon boxes inside gradient cards - white background with colored icons */
.card-gradient .icon-box {
  background: rgba(255, 255, 255, 0.95) !important;
  color: #667eea !important;
  box-shadow: 0 8px 20px rgba(255, 255, 255, 0.3) !important;
}

.card-gradient-2 .icon-box-2 {
  background: rgba(255, 255, 255, 0.95) !important;
  color: #f5576c !important;
  box-shadow: 0 8px 20px rgba(255, 255, 255, 0.3) !important;
}

.card-gradient-3 .icon-box-3 {
  background: rgba(255, 255, 255, 0.95) !important;
  color: #00f2fe !important;
  box-shadow: 0 8px 20px rgba(255, 255, 255, 0.3) !important;
}

/* Buttons */
.btn-gradient {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border: none;
  color: white;
  padding: 12px 30px;
  border-radius: 50px;
  font-weight: 600;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(102,126,234,0.4);
}

.btn-gradient:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 25px rgba(102,126,234,0.6);
  color: white;
}

.btn i {
  margin-left: 0.5rem;
}

.btn-light i,
.btn-gradient i {
  margin-left: 0.5rem;
}

/* Footer */
footer {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 24px;
}

footer a {
  color: rgba(255,255,255,0.9);
  text-decoration: none;
  transition: all 0.3s ease;
}

footer a:hover {
  color: white;
  text-shadow: 0 0 10px rgba(255,255,255,0.5);
}

footer i {
  margin-left: 0.4rem;
}

/* Feature Box */
.feature-box {
  padding: 2rem;
  border-radius: 15px;
  background: white;
  box-shadow: 0 5px 15px rgba(0,0,0,0.08);
  transition: all 0.3s ease;
  height: 100%;
}

.feature-box:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 30px rgba(0,0,0,0.15);
}

/* Welcome Section */
.welcome-section {
  text-align: center;
  padding: 0.3rem 0;
}

.welcome-section .display-4 {
  font-size: 3.5rem;
  font-weight: 800;
  margin-bottom: 1.5rem;
}

.welcome-section i {
  margin-left: 0.8rem;
}

/* Privacy Section */
.privacy-content {
  line-height: 2;
  font-size: 1.1rem;
}

.privacy-content p {
  margin-bottom: 1.5rem;
}

.privacy-content h3 i {
  margin-left: 0.6rem;
}

.privacy-content h5 i {
  margin-left: 0.5rem;
}

/* Animations */
@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}

.pulse-animation {
  animation: pulse 2s infinite;
}

/* Glass effect */
.glass-effect {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.3);
}