/* ============================================================
   css/pricing.css — 4-column pricing section
   Credits / Subscriptions / Model / Enterprise
   ============================================================ */

/* ── Section wrapper ────────────────────────────────────────── */
.pricing-section {
    text-align: center;
}
.pricing-section .section-desc {
    max-width: 560px;
    margin-left: auto;
    margin-right: auto;
}

/* ── Monthly / Annual toggle ────────────────────────────────── */
.pricing-toggle {
    display: inline-flex;
    align-items: center;
    background: var(--canvas-200);
    border-radius: 100px;
    padding: 3px;
    gap: 2px;
    margin: 0 auto 36px;
}
.pricing-toggle__btn {
    padding: 6px 20px;
    border-radius: 100px;
    border: none;
    background: transparent;
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 500;
    color: var(--text-secondary);
    cursor: pointer;
    transition: background 0.18s, color 0.18s;
    white-space: nowrap;
}
.pricing-toggle__btn.is-active {
    background: var(--bg-card);
    color: var(--text-primary);
    box-shadow: 0 1px 4px rgba(0,0,0,0.12);
}
.pricing-toggle__badge {
    display: inline-block;
    background: var(--terra);
    color: #fff;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.04em;
    border-radius: 100px;
    padding: 1px 7px;
    margin-left: 5px;
    vertical-align: middle;
    text-transform: uppercase;
}

/* ── 4-column grid ──────────────────────────────────────────── */
.lp-pricing-grid-v2 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    max-width: 1060px;
    margin: 0 auto 24px;
    align-items: stretch;
}

/* ── Base card ──────────────────────────────────────────────── */
.lp-pc {
    position: relative;
    background: var(--bg-card);
    border: 1.5px solid var(--canvas-300);
    border-radius: 18px;
    padding: 28px 22px 24px;
    display: flex;
    flex-direction: column;
    gap: 0;
    text-align: left;
    transition: transform 0.18s, border-color 0.18s, box-shadow 0.18s;
}
.lp-pc:hover {
    transform: translateY(-2px);
    border-color: var(--terra-200);
    box-shadow: 0 8px 28px rgba(0,0,0,0.07);
}

/* ── Card icon ──────────────────────────────────────────────── */
.lp-pc__icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: var(--canvas-100);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--terra);
    margin-bottom: 16px;
    transition: transform 0.18s, color 0.18s;
}
.lp-pc:hover .lp-pc__icon {
    transform: scale(1.1) rotate(-3deg);
    color: var(--terra-700);
}

/* ── Label above title ──────────────────────────────────────── */
.lp-pc__label {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin-bottom: 4px;
}

/* ── Card name ──────────────────────────────────────────────── */
.lp-pc__name {
    font-size: 16px;
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 8px;
}

/* ── Card description ───────────────────────────────────────── */
.lp-pc__desc {
    font-size: 12.5px;
    line-height: 1.6;
    color: var(--text-secondary);
    margin-bottom: 16px;
}

/* ── Price block ────────────────────────────────────────────── */
.lp-pc__price {
    margin-bottom: 4px;
}
.lp-pc__amount {
    font-family: var(--font-display);
    font-size: 28px;
    font-weight: 800;
    color: var(--text-primary);
    line-height: 1;
}
.lp-pc__interval {
    font-size: 13px;
    font-weight: 500;
    color: var(--text-secondary);
}
.lp-pc__billing-note {
    display: block;
    font-size: 11.5px;
    color: var(--text-muted);
    margin-bottom: 16px;
    margin-top: 2px;
}

/* Monthly / Annual price toggle */
.lp-pc__price-monthly { display: block; }
.lp-pc__price-annual  { display: none; }
.pricing-section.is-annual .lp-pc__price-monthly { display: none; }
.pricing-section.is-annual .lp-pc__price-annual  { display: block; }

/* ── Feature list ───────────────────────────────────────────── */
.lp-pc__features {
    list-style: none;
    padding: 0;
    margin: 0 0 20px;
    display: flex;
    flex-direction: column;
    gap: 7px;
}
.lp-pc__features li {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    font-size: 12.5px;
    color: var(--text-secondary);
    line-height: 1.45;
}
.lp-pc__features li::before {
    content: '';
    display: block;
    width: 14px;
    height: 14px;
    min-width: 14px;
    background-image: url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='7' cy='7' r='6.5' stroke='%23C4BFA9'/%3E%3Cpath d='M4.5 7L6.2 8.8L9.5 5.2' stroke='%23D97757' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    margin-top: 0.1em;
}

/* ── Credit pack rows (Credits card) ────────────────────────── */
.lp-pc__packs {
    border-top: 1px solid var(--canvas-200);
    border-bottom: 1px solid var(--canvas-200);
    margin-bottom: 18px;
    padding: 10px 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.lp-pc__pack-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 3px 0;
}
.lp-pc__pack-name {
    font-size: 12.5px;
    font-weight: 500;
    color: var(--text-primary);
}
.lp-pc__pack-price {
    font-size: 12.5px;
    font-weight: 700;
    color: var(--terra);
}
.lp-pc__pack-note {
    font-size: 10.5px;
    color: var(--text-muted);
}

/* ── CTA buttons ────────────────────────────────────────────── */
.lp-pc__btn {
    display: block;
    width: 100%;
    text-align: center;
    padding: 10px 18px;
    border-radius: 10px;
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    border: none;
    transition: background 0.15s, transform 0.12s, box-shadow 0.15s;
    text-decoration: none;
    margin-top: auto;
}
.lp-pc__btn:active { transform: scale(0.98); }

/* Primary — terra fill */
.lp-pc__btn--primary {
    background: var(--terra);
    color: #fff;
}
.lp-pc__btn--primary:hover {
    background: var(--terra-700);
    box-shadow: 0 4px 16px rgba(217,119,87,0.35);
}

/* Ghost — terra outline */
.lp-pc__btn--ghost {
    background: transparent;
    color: var(--terra);
    border: 1.5px solid var(--terra-200);
}
.lp-pc__btn--ghost:hover {
    background: var(--terra-50);
    border-color: var(--terra);
}

/* Demo — enterprise dark button */
.lp-pc__btn--demo {
    background: var(--canvas-950);
    color: var(--canvas-100);
}
.lp-pc__btn--demo:hover {
    background: var(--canvas-800);
}
[data-theme="dark"] .lp-pc__btn--demo {
    background: var(--canvas-300);
    color: var(--canvas-950);
}
[data-theme="dark"] .lp-pc__btn--demo:hover {
    background: var(--canvas-400);
}

/* ── SUBSCRIPTIONS card — Most Popular ──────────────────────── */
.lp-pc--popular {
    border-color: var(--terra-200);
    box-shadow: 0 0 0 1px var(--terra-100), 0 -4px 24px rgba(217,119,87,0.1);
}
.lp-pc--popular:hover {
    border-color: var(--terra-300);
    box-shadow: 0 0 0 1px var(--terra-200), 0 -4px 28px rgba(217,119,87,0.16), 0 8px 28px rgba(0,0,0,0.07);
}
.lp-pc--popular .lp-pc__icon {
    background: var(--terra-50);
    color: var(--terra);
}
.lp-pc--popular:hover .lp-pc__icon {
    color: var(--terra-700);
}
.lp-pc--popular .lp-pc__label {
    color: var(--terra);
}

.lp-pc__badge {
    position: absolute;
    top: -11px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(135deg, var(--terra), var(--terra-700));
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 3px 14px;
    border-radius: 100px;
    white-space: nowrap;
}

/* ── MODEL card ─────────────────────────────────────────────── */
.lp-pc--model .lp-pc__icon {
    background: rgba(22,163,74,0.08);
    color: #16a34a;
}
.lp-pc--model:hover .lp-pc__icon { color: #15803d; }

/* Tier rows */
.lp-pc__tiers {
    display: flex;
    flex-direction: column;
    gap: 7px;
    margin-bottom: 16px;
}
.lp-pc__tier-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 9px;
    background: var(--canvas-100);
    border-radius: 8px;
}
.lp-pc__tier-name {
    font-size: 12px;
    font-weight: 600;
    color: var(--text-primary);
}
.lp-pc__tier-tag {
    font-size: 10px;
    font-weight: 600;
    border-radius: 5px;
    padding: 2px 7px;
}
.lp-pc__tier-tag--free {
    background: rgba(22,163,74,0.1);
    color: #16a34a;
}
.lp-pc__tier-tag--credit {
    background: rgba(217,119,87,0.1);
    color: var(--terra-700);
}

/* Live status */
.lp-pc__status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11.5px;
    color: var(--text-muted);
    margin-top: auto;
}
.lp-pc__status-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #16a34a;
    flex-shrink: 0;
    box-shadow: 0 0 0 2px rgba(22,163,74,0.2);
    animation: pricing-pulse 2.2s ease-in-out infinite;
}
@keyframes pricing-pulse {
    0%, 100% { box-shadow: 0 0 0 2px rgba(22,163,74,0.2); }
    50%       { box-shadow: 0 0 0 5px rgba(22,163,74,0.08); }
}
@media (prefers-reduced-motion: reduce) {
    .lp-pc__status-dot { animation: none; }
}

/* ── ENTERPRISE card ────────────────────────────────────────── */
.lp-pc--enterprise {
    background: var(--canvas-900);
    border-color: var(--canvas-700);
    color: var(--canvas-100);
}
[data-theme="dark"] .lp-pc--enterprise {
    background: var(--canvas-300);
    border-color: var(--canvas-400);
}
.lp-pc--enterprise:hover {
    border-color: var(--canvas-500);
    box-shadow: 0 8px 28px rgba(0,0,0,0.14);
    transform: translateY(-2px);
}
.lp-pc--enterprise .lp-pc__label { color: var(--canvas-500); }
[data-theme="dark"] .lp-pc--enterprise .lp-pc__label { color: var(--canvas-600); }
.lp-pc--enterprise .lp-pc__name { color: var(--canvas-50); }
[data-theme="dark"] .lp-pc--enterprise .lp-pc__name { color: var(--canvas-950); }
.lp-pc--enterprise .lp-pc__desc { color: var(--canvas-500); }
[data-theme="dark"] .lp-pc--enterprise .lp-pc__desc { color: var(--canvas-600); }
.lp-pc--enterprise .lp-pc__icon {
    background: rgba(255,255,255,0.06);
    color: var(--canvas-400);
}
[data-theme="dark"] .lp-pc--enterprise .lp-pc__icon {
    background: rgba(0,0,0,0.08);
    color: var(--canvas-600);
}
.lp-pc--enterprise .lp-pc__features li { color: var(--canvas-500); }
[data-theme="dark"] .lp-pc--enterprise .lp-pc__features li { color: var(--canvas-600); }
.lp-pc--enterprise .lp-pc__features li::before {
    background-image: url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='7' cy='7' r='6.5' stroke='%23504B3C'/%3E%3Cpath d='M4.5 7L6.2 8.8L9.5 5.2' stroke='%23C4BFA9' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.lp-pc__custom-price {
    font-size: 14px;
    font-weight: 600;
    color: var(--canvas-500);
    margin-bottom: 4px;
}
[data-theme="dark"] .lp-pc__custom-price { color: var(--canvas-600); }
.lp-pc__custom-note {
    font-size: 11px;
    color: var(--canvas-600);
    margin-bottom: 16px;
}
[data-theme="dark"] .lp-pc__custom-note { color: var(--canvas-500); }

/* ── Enterprise row (full-width horizontal card below 4-col) ── */
.lp-pc--enterprise-row {
    grid-column: 1 / -1;          /* span all 4 grid columns */
    flex-direction: row;
    align-items: center;
    gap: 28px;
    padding: 24px 28px;
    overflow: hidden;              /* never let children escape the card */
}

/* Left zone — body (shrinks freely, never overflows) */
.lp-pc__ent-body {
    flex: 1 1 0;
    min-width: 0;                  /* key: allow text to wrap instead of overflow */
}
.lp-pc__ent-icon-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
    color: var(--terra);
}
.lp-pc__ent-icon-wrap .lp-pc__label {
    margin-bottom: 0;
}

/* Feature chips — wrappable pill tags */
.lp-pc__ent-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 10px;
}
.lp-pc__ent-chip {
    font-size: 11.5px;
    font-weight: 500;
    border-radius: 100px;
    padding: 3px 11px;
    white-space: nowrap;
    line-height: 1.5;
    /* Enterprise card is always dark — use light chip styles in both modes */
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.16);
    color: rgba(255,255,255,0.72);
}

/* Right zone — CTA block (never shrinks below its natural size) */
.lp-pc__ent-cta {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
}
.lp-pc__ent-cta .lp-pc__btn {
    white-space: nowrap;
}
.lp-pc__ent-cta-note {
    font-size: 11px;
    color: var(--text-muted);
    text-align: center;
    white-space: nowrap;
}

/* ── Responsive: 2-col grid (≤1040px, card ≈680px) — tighter gap/padding */
@media (max-width: 1040px) {
    .lp-pc--enterprise-row {
        gap: 16px;
        padding: 20px 20px;
    }
    /* Hide chips on smaller screens to save space — keep only text */
    .lp-pc__ent-chips { display: none; }
}

/* ── Responsive: 1-col grid (≤640px) — stack vertically, full-width CTA */
@media (max-width: 640px) {
    .lp-pc--enterprise-row {
        flex-direction: column;
        align-items: stretch;
        gap: 14px;
        padding: 20px 18px;
    }
    /* Show chips again in stacked layout — they wrap nicely */
    .lp-pc__ent-chips { display: flex; }
    .lp-pc__ent-cta {
        align-items: stretch;
    }
    .lp-pc__ent-cta .lp-pc__btn {
        width: 100%;
        text-align: center;
    }
    .lp-pc__ent-cta-note {
        text-align: center;
    }
}

/* ── Trust bar ──────────────────────────────────────────────── */
.lp-pricing-trust-v2 {
    font-size: 12.5px;
    color: var(--text-muted);
    margin-top: 8px;
    margin-bottom: 12px;
}

/* ── Dark mode adjustments ──────────────────────────────────── */
[data-theme="dark"] .lp-pc {
    background: var(--bg-card);
    border-color: var(--canvas-300);
}
[data-theme="dark"] .lp-pc:hover {
    border-color: rgba(224,124,88,0.35);
    box-shadow: 0 8px 28px rgba(0,0,0,0.2);
}
[data-theme="dark"] .lp-pc--popular {
    border-color: rgba(224,124,88,0.35);
    box-shadow: 0 0 0 1px rgba(224,124,88,0.12), 0 -4px 24px rgba(224,124,88,0.1);
}
[data-theme="dark"] .lp-pc--popular:hover {
    border-color: rgba(224,124,88,0.55);
}
[data-theme="dark"] .lp-pc__icon {
    background: var(--canvas-200);
}
[data-theme="dark"] .pricing-toggle {
    background: var(--canvas-200);
}
[data-theme="dark"] .pricing-toggle__btn.is-active {
    background: var(--canvas-300);
}
[data-theme="dark"] .lp-pc__tier-row {
    background: var(--canvas-200);
}
[data-theme="dark"] .lp-pc__packs {
    border-color: var(--canvas-300);
}

/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width: 1040px) {
    .lp-pricing-grid-v2 {
        grid-template-columns: repeat(2, 1fr);
        max-width: 680px;
    }
}
@media (max-width: 640px) {
    .lp-pricing-grid-v2 {
        grid-template-columns: 1fr;
        max-width: 400px;
    }
    .lp-pc { padding: 24px 18px 20px; }
    .pricing-toggle { margin-bottom: 28px; }
}
