/* =========================================
   PRICING PLANS SPECIFIC STYLES
========================================= */

/* --- VISIBILITY SOFT BADGES --- */
.bg-primary-soft { background-color: #f3e8ff !important; color: #7e22ce !important; }
.bg-success-soft { background-color: #dcfce7 !important; color: #166534 !important; }
.bg-warning-soft { background-color: #fef3c7 !important; color: #b45309 !important; }
.bg-info-soft { background-color: #e0f2fe !important; color: #0369a1 !important; }
.bg-dark-soft { background-color: #f1f5f9 !important; color: #334155 !important; }

/* --- INNER PAGE HERO --- */
.inner-page-hero {
    background: linear-gradient(135deg, #f3e8ff 0%, #e9d5ff 100%);
    padding: 80px 0 60px 0;
    position: relative;
    text-align: center;
    border-bottom: 1px solid rgba(126, 34, 206, 0.1);
}

/* --- 3-WAY BILLING TOGGLE --- */
.billing-toggle-wrapper {
    background: #ffffff;
    border: 1px solid #e9d5ff;
    border-radius: 50px;
    padding: 5px;
    display: inline-flex;
    align-items: center;
    box-shadow: 0 10px 25px rgba(126, 34, 206, 0.08);
    margin-top: 2rem;
    flex-wrap: wrap;
    justify-content: center;
}
.toggle-btn {
    color: #64748b;
    font-weight: 600;
    cursor: pointer;
    padding: 10px 25px;
    border-radius: 50px;
    transition: all 0.3s ease;
    margin: 0;
    font-size: 0.95rem;
}
.btn-check:checked + .toggle-btn {
    background: var(--primary) !important;
    color: #ffffff !important;
    box-shadow: 0 4px 10px rgba(126, 34, 206, 0.3);
}

/* --- PRICING CARDS (4 COLUMNS) --- */
.pricing-card {
    background: white;
    border-radius: 20px;
    padding: 35px 25px;
    height: 100%;
    box-shadow: 0 10px 30px rgba(88, 28, 135, 0.04);
    border: 1px solid #f3e8ff;
    transition: all 0.3s ease;
    position: relative;
    display: flex;
    flex-direction: column;
}

.hover-elevate {
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.hover-elevate:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.07) !important;
}
.transition-all {
    transition: all 0.25s ease-in-out;
}

.pricing-card:hover {
    transform: translateY(-10px);
    border-color: var(--primary);
    box-shadow: 0 20px 40px rgba(126, 34, 206, 0.12);
}
.pricing-card.featured {
    border: 2px solid var(--primary);
    transform: scale(1.03);
    box-shadow: 0 20px 50px rgba(126, 34, 206, 0.15);
    z-index: 2;
}
@media (max-width: 991px) { .pricing-card.featured { transform: none; } }

.price-currency { font-size: 1.2rem; font-weight: 600; color: var(--dark); vertical-align: top; margin-top: 5px; display: inline-block; }
.price-value { font-size: 2.8rem; font-weight: 800; color: var(--dark); line-height: 1; transition: all 0.3s ease; }
.price-period { color: #64748b; font-size: 0.9rem; font-weight: 500; display: block; margin-top: 5px;}
.billing-subtext { font-size: 0.8rem; color: #64748b; display: block; margin-top: 8px; font-weight: 500; line-height: 1.4; min-height: 35px;}

.plan-features { list-style: none; padding: 0; margin: 1.5rem 0; flex-grow: 1; }
.plan-features li { padding: 10px 0; display: flex; align-items: flex-start; gap: 10px; font-size: 0.9rem; border-bottom: 1px dashed #f1f5f9; color: #475569; }
.plan-features li:last-child { border-bottom: none; }

/* --- COMPARISON TABLE --- */
.comparison-table th { background: #f8fafc; color: var(--dark); font-weight: 700; padding: 15px; border-bottom: 2px solid #e2e8f0; text-align: center; }
.comparison-table th:first-child { text-align: left; }
.comparison-table td { padding: 15px; border-bottom: 1px solid #f1f5f9; color: #475569; vertical-align: middle; text-align: center; }
.comparison-table td:first-child { text-align: left; font-weight: 500; }
.feature-category { background-color: #f3e8ff !important; color: var(--primary) !important; font-weight: 700; font-size: 0.9rem; text-transform: uppercase; letter-spacing: 1px; padding: 15px !important; text-align: left !important; }

/* --- CUSTOM TOOLTIP STYLES --- */
.tooltip-inner { background-color: var(--dark); color: white; border-radius: 8px; padding: 8px 12px; font-size: 0.8rem; box-shadow: 0 4px 10px rgba(0,0,0,0.2); }
.tooltip.bs-tooltip-top .tooltip-arrow::before { border-top-color: var(--dark); }

/* --- FAQ ACCORDION STYLES --- */
.accordion-button { font-family: var(--font-heading); font-weight: 600; color: var(--dark); padding: 1.25rem 1.5rem; background-color: #fff; box-shadow: none !important; border-bottom: 1px solid #f1f5f9; }
.accordion-button:not(.collapsed) { color: var(--primary); background-color: #f3e8ff; border-bottom-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='%231e1b4b'%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"); }
.accordion-button:not(.collapsed)::after { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%237e22ce'%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"); }
.accordion-item { border: 1px solid #e9d5ff; border-radius: 16px !important; margin-bottom: 15px; overflow: hidden; box-shadow: 0 5px 15px rgba(88, 28, 135, 0.03); }
.accordion-body { padding: 1.5rem; color: #475569; background-color: #fff; line-height: 1.7; }

/* --- PAYMENT TIPS BANNER --- */
.payment-tips-banner { background-color: #f8fafc; border: 1px solid #e2e8f0; border-radius: 16px; padding: 20px 30px; display: flex; align-items: center; justify-content: center; gap: 30px; flex-wrap: wrap; }