/*
 * Custom CSS for Pixelate SaaS Template
 */

:root {
    --primary-color: #00f2ea;
    --primary-hover: #00d4cc;
    --primary-soft: rgba(0, 242, 234, 0.1);
    --dark-bg: #0a0f1e;
    --darker-bg: #060a15;
    --card-bg: #121a31;
    --border-color: rgba(255, 255, 255, 0.1);
    --body-text-color: #adb5bd;
    --heading-color: #ffffff;
    --gradient: linear-gradient(90deg, #00f2ea, #9f62ff);
}

body {
    font-family: 'Inter', sans-serif;
    background-color: var(--dark-bg);
    color: var(--body-text-color);
    line-height: 1.7;
}

h1, h2, h3, h4, h5, h6 { color: var(--heading-color); font-weight: 600; }
section { padding: 80px 0; }
.bg-darker { background-color: var(--darker-bg); }

/* --- Buttons & General --- */
.text-gradient { background: var(--gradient); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.btn-primary { background-color: var(--primary-color); border-color: var(--primary-color); color: #000; font-weight: 600; padding: 12px 30px; border-radius: 50px; transition: all 0.3s ease; }
.btn-primary:hover { background-color: var(--primary-hover); border-color: var(--primary-hover); transform: translateY(-2px); box-shadow: 0 10px 20px rgba(0, 242, 234, 0.1); }
.btn-outline-light { border-color: var(--border-color); color: #fff; padding: 10px 24px; border-radius: 50px; transition: all 0.3s ease; }
.btn-outline-light:hover { background-color: #fff; color: #000; }
.btn-outline-primary { border-color: var(--primary-color); color: var(--primary-color); font-weight: 600; padding: 12px 30px; border-radius: 50px; transition: all 0.3s ease; }
.btn-outline-primary:hover { background-color: var(--primary-color); color: #000; }
.badge.bg-primary-soft { background-color: var(--primary-soft) !important; color: var(--primary-color); }

/* --- Header / Navbar --- */
.navbar { transition: background-color 0.4s ease, padding 0.4s ease; }
.navbar.scrolled { background-color: rgba(10, 15, 30, 0.85); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); padding: 5px 0; border-bottom: 1px solid var(--border-color); }
.navbar-brand { font-weight: 700; font-size: 1.5rem; }
.nav-link { color: rgba(255, 255, 255, 0.7); transition: color 0.3s ease; }
.nav-link:hover, .nav-link.active { color: #fff; }

/* --- Hero & Trusted By --- */
#hero { min-height: 100vh; background-image: radial-gradient(circle at 10% 20%, rgba(159, 98, 255, 0.2), transparent 40%), radial-gradient(circle at 90% 80%, rgba(0, 242, 234, 0.2), transparent 40%); }
#trusted-by { background-color: var(--darker-bg); border-top: 1px solid var(--border-color); border-bottom: 1px solid var(--border-color); }
.client-logo { filter: grayscale(1) opacity(0.6); transition: all 0.3s ease; }
.client-logo:hover { filter: grayscale(0) opacity(1); }

/* --- How It Works --- */
.step-card { padding: 30px; border-radius: 12px; border: 1px solid var(--border-color); background-color: var(--card-bg); height: 100%; }
.step-number { width: 50px; height: 50px; border-radius: 50%; background: var(--gradient); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.5rem; }

/* --- Features Section --- */
.feature-card { background-color: var(--card-bg); padding: 30px; border-radius: 12px; border: 1px solid var(--border-color); transition: all 0.3s ease; height: 100%; }
.feature-card:hover { transform: translateY(-5px); border-color: var(--primary-color); box-shadow: 0 15px 30px rgba(0, 242, 234, 0.08); }
.icon-box { width: 60px; height: 60px; background: var(--gradient); color: #fff; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 1.8rem; margin-bottom: 20px; }

/* --- Use Cases --- */
.nav-pills .nav-link { background: none; border: 1px solid var(--border-color); color: var(--body-text-color); margin: 0 5px; border-radius: 50px; transition: all 0.3s ease; }
.nav-pills .nav-link.active, .nav-pills .show > .nav-link { color: #000; background-color: var(--primary-color); border-color: var(--primary-color); }
.use-case-content { background-color: var(--card-bg); border: 1px solid var(--border-color); padding: 30px; border-radius: 12px; margin-top: 20px; }

/* --- Integrations --- */
.integration-icon { width: 70px; height: 70px; background-color: var(--card-bg); border: 1px solid var(--border-color); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 10px; font-size: 2rem; color: #fff; transition: all 0.3s ease; }
.integration-icon:hover { border-color: var(--primary-color); color: var(--primary-color); transform: scale(1.1); }

/* --- Testimonials --- */
.btn-play { width: 50px; height: 50px; background: var(--gradient); border-radius: 50%; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; border: none; transition: transform 0.3s ease; }
.btn-play:hover { transform: scale(1.1); }

/* --- Pricing --- */
.form-switch .form-check-input { width: 3em; height: 1.5em; background-color: var(--card-bg); border-color: var(--border-color); background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255,255,255,.25%29'/%3e%3c/svg%3e"); }
.form-switch .form-check-input:focus { border-color: var(--primary-color); box-shadow: 0 0 0 0.25rem var(--primary-soft); background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2300f2ea'/%3e%3c/svg%3e"); }
.form-switch .form-check-input:checked { background-color: var(--primary-color); border-color: var(--primary-color); background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); }
.pricing-card { display: flex; flex-direction: column; background-color: var(--card-bg); border-radius: 12px; border: 1px solid var(--border-color); padding: 30px; height: 100%; transition: all 0.3s ease; position: relative; overflow: hidden; }
.pricing-card:hover { border-color: var(--primary-color); transform: translateY(-5px); }
.pricing-card.popular { border-color: var(--primary-color); box-shadow: 0 15px 30px rgba(0, 242, 234, 0.08); }
.popular-badge { position: absolute; top: 20px; right: -35px; background: var(--gradient); color: #fff; padding: 5px 35px; transform: rotate(45deg); font-size: 0.8rem; font-weight: 600; }
.pricing-card .price { color: var(--heading-color); }
.pricing-card .price .period { font-size: 1rem; color: var(--body-text-color); }
.pricing-card ul { padding-left: 0; }
.pricing-card li { margin-bottom: 10px; display: flex; align-items: center; }
.pricing-card li .bi { color: var(--primary-color); margin-right: 10px; font-size: 1.2rem; }
.pricing-card li .bi-x-circle { color: #6c757d; }
.pricing-card .custom-price { line-height: 1.2; margin-bottom: 1rem; }

/* --- Comparison Table --- */
.comparison-table { border: 1px solid var(--border-color); border-radius: 12px; overflow: hidden; }
.comparison-table th, .comparison-table td { background-color: transparent; padding: 1rem; vertical-align: middle; }
.comparison-table thead th { background-color: var(--card-bg); }
.comparison-table tbody tr td:nth-child(2) { background-color: var(--primary-soft); font-weight: bold; }
.comparison-table .bi { font-size: 1.5rem; }

/* --- FAQ --- */
.accordion-item { background-color: var(--card-bg); border: 1px solid var(--border-color); border-radius: 8px !important; margin-bottom: 1rem; }
.accordion-button { background-color: var(--card-bg); color: var(--heading-color); font-weight: 600; border-radius: 8px !important; }
.accordion-button:not(.collapsed) { color: var(--primary-color); background-color: var(--card-bg); box-shadow: none; }
.accordion-button:focus { box-shadow: none; border-color: transparent; }
.accordion-button::after { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2300f2ea'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); }

/* --- Blog --- */
.blog-card { background-color: var(--card-bg); border: 1px solid var(--border-color); border-radius: 12px; overflow: hidden; height: 100%; transition: all 0.3s ease; }
.blog-card:hover { transform: translateY(-5px); border-color: var(--primary-color); }
.blog-card a { text-decoration: none; color: inherit; }
.blog-card .card-title { color: var(--heading-color); }
.blog-card .card-text { color: var(--body-text-color); }
.blog-card .card-body { padding: 25px; }

/* --- Footer & CTA --- */
#cta { background: var(--gradient) }
#cta h2, #cta p { color: #000; }
#cta .btn-primary { background-color: #fff; border-color: #fff; color: #000; }
#cta .btn-primary:hover { background-color: #eee; border-color: #eee; }
footer { background-color: var(--darker-bg); font-size: 0.9rem; border-top: 1px solid var(--border-color); }
footer a { color: var(--body-text-color); text-decoration: none; transition: color 0.3s ease; }
footer a:hover { color: var(--primary-color); }

/* --- Modal --- */
.modal-content { background-color: var(--dark-bg); border: 1px solid var(--border-color); }
.modal-body { padding: 0.5rem; }
.btn-close-white { position: absolute; top: -25px; right: -25px; z-index: 10; background-color: #fff; border-radius: 50%; padding: 0.5rem; }

/* --- Animations --- */
.animate-fade-in { animation: fadeIn 1s ease-out forwards; }
.animate-fade-in-up { animation: fadeInUp 1s ease-out 0.3s forwards; opacity: 0; }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes fadeInUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }
.animate-scroll { opacity: 0; transform: translateY(30px); transition: opacity 0.6s ease-out, transform 0.6s ease-out; }
.animate-scroll.is-visible { opacity: 1; transform: translateY(0); }