/* ============================================================================
   Page: /pricing  (Pages/Pricing.cshtml)
   Page-local stilovi — izmešteni iz inline @section Styles. Vrednosti
   tokenizovane na STAMP (foundation/tokens.css). Vizuelno-neutralno.
   ============================================================================ */

/* ===== Mesečno/Godišnje toggle (deli markup+JS sa homepage cenovnikom) ===== */
/* inline-flex na .pb-cta-pill gazi UA [hidden] pravilo — vrati ga eksplicitno */
[data-price-view][hidden],
[data-cta-interval][hidden] { display: none !important; }

.pb-billing-toggle-wrap {
    display: flex;
    justify-content: center;
    margin: 0 0 26px;
}
.pb-billing-toggle {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px;
    border-radius: 999px;
    background: var(--c-surface-2);
    border: 1px solid var(--c-border-divider);
}
.pb-billing-toggle__btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 0;
    background: transparent;
    cursor: pointer;
    padding: 8px 18px;
    border-radius: 999px;
    font: inherit;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--c-text-secondary);
    transition: background .15s ease, color .15s ease, box-shadow .15s ease;
}
.pb-billing-toggle__btn.is-active {
    background: var(--p-white);
    color: var(--c-text-primary);
    box-shadow: 0 1px 4px rgba(15, 23, 42, .12); /* TODO token: slate senka, nema rgba token */
}
.pb-billing-toggle__badge {
    font-size: 11.5px;
    font-weight: 650;
    color: var(--c-brand-strong);
}

/* ===== Pricing grid (page-local — specifično za /pricing) ===== */
.pb-pricing-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 28px;
    align-items: stretch;
    margin-bottom: 28px;
}
.pb-plan {
    display: flex;
    flex-direction: column;
    gap: 14px;
    position: relative;
}
.pb-plan--featured {
    border-color: var(--c-accent-indigo);
    box-shadow: 0 14px 36px -18px rgba(99, 102, 241, .55); /* TODO token: indigo-500 senka, nema rgba token */
}
.pb-plan__badge {
    position: absolute;
    top: -10px;
    left: 20px;
    background: linear-gradient(135deg, var(--c-accent-indigo), var(--c-accent-indigo-strong));
    color: var(--p-white);
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 999px;
    box-shadow: 0 4px 10px -4px rgba(99, 102, 241, .55); /* TODO token: indigo-500 senka, nema rgba token */
}
.pb-plan__name { font-size: 20px; }

.pb-plan__price {
    padding: 6px 0 10px;
    border-bottom: 1px solid var(--c-border-hairline);
}
.pb-plan__price-main {
    font-size: 26px;
    font-weight: 700;
    color: var(--c-text-primary);
    line-height: 1.1;
    display: flex;
    align-items: baseline;
    gap: 4px;
    flex-wrap: wrap;
}
.pb-plan__price-unit { font-size: 14px; font-weight: 600; color: var(--p-slate-500); }
.pb-plan__price-per  { font-size: 13px; font-weight: 500; color: var(--c-text-secondary); }
.pb-plan__price-sub  { margin-top: 4px; font-size: 12.5px; color: var(--c-text-secondary); }

.pb-plan__features {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
    font-size: 13.5px;
    color: var(--p-slate-600);
}
.pb-plan__features li { display: flex; gap: 8px; align-items: flex-start; }
.pb-plan__features svg {
    width: 16px; height: 16px; flex-shrink: 0;
    color: var(--p-brand-500);
    margin-top: 1px;
}
.pb-plan__features .pb-plan__feature--check svg { color: var(--c-state-good); }

.pb-plan__cta {
    margin-top: auto;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.pb-plan__cta .pb-cta-pill,
.pb-plan__cta form { width: 100%; }
.pb-plan__cta form .pb-cta-pill { width: 100%; }

/* Disabled CTA (trenutno aktivni paket — nema promene na isti paket).
   Downgrade na niži paket je podržan: zakazuje se za kraj tekućeg perioda. */
.pb-cta-pill--disabled {
    opacity: .55;
    cursor: not-allowed;
    pointer-events: none;
    justify-content: center;
    text-align: center;
}

/* Banner kada server-side odbije izbor nižeg paketa (Payments/Start safety net). */
.pb-plan-notice {
    padding: .7rem 1rem;
    border-radius: 12px;
    margin-bottom: 1rem;
    font-size: .9rem;
    background: var(--c-warn-box-bg);
    color: var(--c-warn-deep);
    border: 1px solid var(--c-warn-box-border);
}

.pb-ai-costs { margin-top: 18px; }

/* ===== Pricing confirmation modal ===== */
.pb-pay-confirm__lead {
    margin: 0;
    font-size: 13.5px;
    color: var(--c-text-secondary);
    line-height: 1.55;
}
.pb-pay-confirm__summary {
    margin: 4px 0 0;
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 8px 16px;
    padding: 14px 16px;
    border-radius: 12px;
    background: var(--c-surface-2);
    border: 1px solid var(--c-border-divider-soft);
    font-size: 13.5px;
}
.pb-pay-confirm__summary dt {
    color: var(--c-text-secondary);
    font-weight: 500;
}
.pb-pay-confirm__summary dd {
    margin: 0;
    color: var(--c-text-strong);
    font-weight: 600;
}
.pb-pay-confirm__summary dd.is-amount {
    font-variant-numeric: tabular-nums;
    color: var(--c-brand-strong);
}
.pb-pay-confirm__note {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 10px 12px;
    border-radius: 10px;
    background: var(--c-brand-surface);
    border: 1px solid var(--c-brand-200);
    color: var(--p-brand-800);
    font-size: 12.5px;
    line-height: 1.5;
}
.pb-pay-confirm__note svg {
    width: 16px; height: 16px;
    flex-shrink: 0;
    margin-top: 1px;
}
.pb-pay-confirm__secure {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-right: auto;
    font-size: 12px;
    color: var(--c-text-secondary);
}
.pb-pay-confirm__secure svg { width: 14px; height: 14px; opacity: .8; }
