/* ==========================================================================
   Base Styles & Typography
   ========================================================================== */
body { 
    font-family: 'Plus Jakarta Sans', sans-serif; 
    background-color: #fcfcfc; 
    color: #333; 
}

/* ==========================================================================
   Color Variables & Utilities
   ========================================================================== */
.text-blue { color: #0d6efd; }
.bg-blue-light { background-color: #e6f0ff; color: #0d6efd; }
.bg-green-light { background-color: #e8f5e9; color: #198754; }
.bg-yellow-light { background-color: #fff8e1; color: #ffc107; }

/* Gradients */
.hero-gradient { 
    background-image: url('../images/bg-hero-abstract.jpg'); 
    background-position: center right; 
    background-repeat: no-repeat; 
    background-size: cover; 
}
.soft-blue-bg { background-color: #f8fbff; }
.primary-dark-gradient { background: linear-gradient(135deg, #0d6efd 0%, #0043a8 100%); color: #ffffff; }

.card-grad-blue { background: linear-gradient(145deg, #ffffff 40%, #f0f6ff 100%); }
.card-grad-green { background: linear-gradient(145deg, #ffffff 40%, #f1f8f2 100%); }
.card-grad-yellow { background: linear-gradient(145deg, #ffffff 40%, #fffbf0 100%); }

/* ==========================================================================
   Components
   ========================================================================== */
/* Badges */
.section-badge { 
    display: inline-block; 
    border: 2px solid #0d6efd; 
    color: #0d6efd; 
    padding: 6px 20px; 
    border-radius: 50px; 
    font-weight: 700; 
    font-size: 0.85rem; 
    text-transform: uppercase; 
    letter-spacing: 1px; 
    margin-bottom: 1rem; 
}
.section-badge-white { 
    border-color: #ffffff; 
    color: #ffffff; 
    background-color: rgba(255, 255, 255, 0.1); 
}

/* Buttons */
.btn-primary-custom { 
    background-color: #0d6efd; 
    border: none; 
    padding: 12px 24px; 
    font-weight: 700; 
    border-radius: 10px; 
    box-shadow: 0 4px 14px rgba(13, 110, 253, 0.3); 
    transition: all 0.3s ease; 
}
.btn-primary-custom:hover { 
    background-color: #0b5ed7; 
    transform: translateY(-2px); 
    box-shadow: 0 6px 20px rgba(13, 110, 253, 0.4); 
    color: #fff; 
}
.btn-outline-custom { 
    border: 2px solid #0d6efd; 
    color: #0d6efd; 
    padding: 12px 24px; 
    font-weight: 700; 
    border-radius: 10px; 
    background: transparent; 
    transition: all 0.3s ease; 
}
.btn-outline-custom:hover { 
    background: #e6f0ff; 
    color: #0b5ed7; 
}

/* Cards & Icons */
.feature-card { 
    border: 1px solid #f0f0f0; 
    border-radius: 16px; 
    box-shadow: 0 8px 24px rgba(0,0,0,0.03); 
    transition: transform 0.3s ease, box-shadow 0.3s ease; 
    height: 100%; 
    overflow: hidden; 
}
.feature-card:hover { 
    transform: translateY(-5px); 
    box-shadow: 0 12px 30px rgba(0,0,0,0.08); 
}
.icon-box { 
    width: 56px; 
    height: 56px; 
    border-radius: 14px; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    font-size: 26px; 
    margin-bottom: 20px; 
}
.team-card { 
    background: #fff; 
    border-radius: 16px; 
    padding: 24px; 
    border: 1px solid #eaeaea; 
    text-align: center; 
}
.team-avatar { 
    width: 80px; 
    height: 80px; 
    border-radius: 50%; 
    object-fit: cover; 
    border: 3px solid #e6f0ff; 
    margin-bottom: 15px; 
}

/* Page Specific Content Cards */
.content-card { 
    background: #fff; 
    border-radius: 16px; 
    border: 1px solid #eaeaea; 
    box-shadow: 0 4px 14px rgba(0,0,0,0.02); 
}

/* Terms Typography */
.term-section h4 { color: #0d6efd; font-weight: 700; margin-top: 2rem; margin-bottom: 1rem; font-size: 1.25rem; }
.term-section p, .term-section li { color: #555; line-height: 1.7; font-size: 0.95rem; }
.term-section ul { padding-left: 1.5rem; }
.term-section li { margin-bottom: 0.5rem; }

/* Alerts & Disclaimers */
.alert-old-version { background-color: #fff8e1; border-left: 4px solid #ffc107; border-radius: 8px; }
.alert-info-custom { background-color: #e6f0ff; border-left: 4px solid #0d6efd; color: #0043a8; border-radius: 8px; }
.disclaimer-section { 
    background-color: #fff5f5; 
    border: 1px solid #ffcdd2; 
    border-left: 5px solid #dc3545; 
    border-radius: 8px; 
    padding: 1.5rem; 
    margin: 2rem 0; 
}
.disclaimer-section h4 { margin-top: 0; }
.disclaimer-section p, .disclaimer-section li { color: #842029; }

/* ==========================================================================
   Animations & Hover Effects
   ========================================================================== */
.app-screenshot { 
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); 
    background-color: transparent; 
}
.app-screenshot:hover { 
    transform: translateY(-15px) scale(1.03); 
}
.hover-scale { transition: transform 0.3s ease; }
.card.feature-card:hover .hover-scale { transform: scale(1.05); }
.hover-white:hover { color: #fff !important; }
/* ==========================================================================
   Media Queries
   ========================================================================== */
@media (max-width: 576px) { 
    .btn-primary-custom i.fs-1 { font-size: 1.8rem !important; } 
    .btn-primary-custom span.fs-5 { font-size: 1rem !important; } 
}
@media (max-width: 991px) { 
    .hero-gradient { background-position: bottom center; } 
}