/**
 * Reaver - Pricing Page Styles
 * Loaded only on the /pricing page to keep the homepage lean.
 */

.pricing-hero {
    padding-top: 80px;
}

.pricing-plans {
    margin-bottom: 0.5rem;
}

/* Accordion */
#faqAccordion .accordion-button {
    font-weight: 600;
}

#faqAccordion .accordion-button:not(.collapsed) {
    background: rgba(204, 255, 0, 0.1);
    color: var(--text-primary);
}

/* CTA border */
.border-top.border-bottom.border-secondary {
    border-color: var(--border-medium) !important;
}

/* ===== Password Strength ===== */
.pw-strength {
    margin-top: 0.6rem;
    padding: 0.65rem 0.75rem;
    border: 1px solid var(--border-medium);
    border-radius: 6px;
    background: rgba(0, 0, 0, 0.03);
}

.pw-strength-meter {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin-bottom: 0.55rem;
}

.pw-strength-track {
    flex: 1 1 auto;
    height: 6px;
    border-radius: 999px;
    background: #c8cdd6;
    overflow: hidden;
}

.pw-strength-fill {
    height: 100%;
    width: 0;
    border-radius: 999px;
    background: #555;
    transition: width 0.2s ease, background-color 0.2s ease;
}

.pw-strength-label {
    flex: 0 0 auto;
    font-size: 0.75rem;
    font-weight: 600;
    min-width: 4rem;
    text-align: right;
}

.pw-strength-meter.is-weak .pw-strength-fill,
.pw-strength-label.is-weak { color: #f87171; }
.pw-strength-meter.is-weak .pw-strength-fill { background: #ef4444; }

.pw-strength-meter.is-fair .pw-strength-fill,
.pw-strength-label.is-fair { color: #fbbf24; }
.pw-strength-meter.is-fair .pw-strength-fill { background: #f59e0b; }

.pw-strength-meter.is-ok .pw-strength-fill,
.pw-strength-label.is-ok { color: #34d399; }
.pw-strength-meter.is-ok .pw-strength-fill { background: #10b981; }

.pw-strength-meter.is-strong .pw-strength-fill,
.pw-strength-label.is-strong { color: #2ecc71; }
.pw-strength-meter.is-strong .pw-strength-fill { background: #22c55e; }

.pw-strength-rules {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.25rem;
}

.pw-rule {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.8rem;
    line-height: 1.3;
    color: var(--text-secondary);
    transition: color 0.15s ease;
}

.pw-rule-icon { font-size: 0.9rem; flex: 0 0 auto; }
.pw-rule.is-met { color: #86efac; }
.pw-rule.is-met .pw-rule-icon { color: #22c55e; }
.pw-rule.is-unmet { color: #fca5a5; }
.pw-rule.is-unmet .pw-rule-icon { color: #ef4444; }

/* ===== Pricing tier buttons (light + dark brand alignment) ===== */
.pricing-hero .btn-success {
    background: var(--accent-acid-green) !important;
    border-color: var(--accent-acid-green) !important;
    color: #1a1a2e !important;
    font-weight: 600;
}

.pricing-hero .btn-success:hover,
.pricing-hero .btn-success:focus {
    background: var(--accent-acid-green-hover) !important;
    border-color: var(--accent-acid-green-hover) !important;
    color: #1a1a2e !important;
}

/* Comparison table — theme-aware (no forced dark inline bg) */
.pricing-hero .table-compare {
    background: var(--card-bg);
    color: var(--text-primary);
}

/* ===== Dark Mode ===== */

/* Password strength */
[data-theme="dark"] .pw-strength {
    background: rgba(0, 0, 0, 0.25);
    border-color: var(--border-medium);
}

[data-theme="dark"] .pw-strength-track {
    background: #2a2a2a;
}

/* Buttons — high contrast on dark cards */
[data-theme="dark"] .pricing-hero .btn-outline-secondary {
    color: #fafafa !important;
    border-color: #a1a1aa !important;
    background: transparent !important;
}

[data-theme="dark"] .pricing-hero .btn-outline-secondary:hover,
[data-theme="dark"] .pricing-hero .btn-outline-secondary:focus {
    background: var(--accent-hot-pink) !important;
    color: #18181b !important;
    border-color: var(--accent-hot-pink) !important;
}

[data-theme="dark"] .pricing-hero .btn-outline-light {
    color: #fafafa !important;
    border-color: #fafafa !important;
    background: transparent !important;
}

[data-theme="dark"] .pricing-hero .btn-outline-light:hover,
[data-theme="dark"] .pricing-hero .btn-outline-light:focus {
    background: var(--accent-acid-green) !important;
    color: #18181b !important;
    border-color: var(--accent-acid-green) !important;
}

[data-theme="dark"] .pricing-hero .btn-success {
    background: var(--accent-acid-green) !important;
    border-color: var(--accent-acid-green) !important;
    color: #18181b !important;
    font-weight: 600;
}

[data-theme="dark"] .pricing-hero .btn-success:hover,
[data-theme="dark"] .pricing-hero .btn-success:focus {
    background: var(--accent-acid-green-hover) !important;
    border-color: var(--accent-acid-green-hover) !important;
    color: #18181b !important;
}

/* Features row text */
[data-theme="dark"] .pricing-hero .text-muted {
    color: #a1a1aa !important;
}

[data-theme="dark"] .pricing-hero .lead.text-secondary {
    color: #a1a1aa !important;
}

/* Table */
[data-theme="dark"] .pricing-hero .table {
    --bs-table-bg: #27272a;
    --bs-table-color: #d4d4d8;
    --bs-table-striped-bg: #3f3f46;
    --bs-table-striped-color: #d4d4d8;
    --bs-table-hover-bg: #52525b;
    --bs-table-hover-color: #fafafa;
    --bs-table-border-color: #3f3f46;
    background: #27272a !important;
    color: #d4d4d8 !important;
}

[data-theme="dark"] .pricing-hero .table thead th {
    background: #18181b !important;
    color: #fafafa !important;
    border-color: #3f3f46 !important;
}

[data-theme="dark"] .pricing-hero .table td {
    border-color: #3f3f46 !important;
    color: #d4d4d8 !important;
    background-color: transparent;
}

[data-theme="dark"] .pricing-hero .table tbody tr:nth-child(odd) {
    background: #27272a !important;
    color: #d4d4d8 !important;
}

[data-theme="dark"] .pricing-hero .table tbody tr:nth-child(even) {
    background: #3f3f46 !important;
    color: #d4d4d8 !important;
}

[data-theme="dark"] .pricing-hero .table .text-success {
    color: #4ade80 !important;
}

[data-theme="dark"] .pricing-hero .table td.fw-semibold {
    color: #fafafa !important;
}

/* Alert */
[data-theme="dark"] .pricing-hero .alert-success {
    background: rgba(204, 255, 0, 0.08) !important;
    color: #fafafa !important;
    border-color: rgba(204, 255, 0, 0.15) !important;
}

[data-theme="dark"] .pricing-hero .alert-info {
    background: rgba(204, 255, 0, 0.06) !important;
    color: #fafafa !important;
    border-color: rgba(204, 255, 0, 0.15) !important;
}

/* FAQ accordion */
[data-theme="dark"] .pricing-hero .accordion-item {
    background: #27272a !important;
    border: 1px solid #3f3f46 !important;
}

[data-theme="dark"] .pricing-hero .accordion-button {
    background: #27272a !important;
    color: #fafafa !important;
}

[data-theme="dark"] .pricing-hero .accordion-button:not(.collapsed) {
    background: rgba(204, 255, 0, 0.08) !important;
    color: #fafafa !important;
}

[data-theme="dark"] .pricing-hero .accordion-body {
    background: #27272a !important;
    color: #d4d4d8 !important;
}

/* CTA section */
[data-theme="dark"] .pricing-hero .border-top.border-bottom {
    border-color: #3f3f46 !important;
}

[data-theme="dark"] .pricing-hero .text-secondary {
    color: #a1a1aa !important;
}

/* Headings */
[data-theme="dark"] .pricing-hero h1,
[data-theme="dark"] .pricing-hero h2,
[data-theme="dark"] .pricing-hero h3 {
    color: #fafafa !important;
}

/* Buy page form (uses pricing.css) */
[data-theme="dark"] .form-label {
    color: #e4e4e7 !important;
}

[data-theme="dark"] .form-control {
    background: #18181b !important;
    border-color: #3f3f46 !important;
    color: #fafafa !important;
}

[data-theme="dark"] .form-control::placeholder {
    color: #a1a1aa !important;
}

[data-theme="dark"] .form-control:focus {
    background: #18181b !important;
    border-color: var(--accent-acid-green) !important;
    color: #fafafa !important;
    box-shadow: 0 0 0 0.2rem rgba(204, 255, 0, 0.15) !important;
}