/* =========================================================
   WRAPPER
========================================================= */

.pricing-wrapper {
    width: 100%;
    max-width: 1380px;
    margin: 0 auto;
    padding: 36px 28px 48px;
}


/* =========================================================
   HEADER
========================================================= */

.pricing-title {
    font-size: 30px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.04em;
    color: var(--color-text-primary, #0f172a);
    margin-bottom: 10px;
}

.pricing-subtitle {
    font-size: 15px;
    line-height: 1.7;
    color: var(--color-text-secondary, #64748b);
    max-width: 620px;
    margin-bottom: 38px;
}


/* =========================================================
   TABS
========================================================= */

.bundle-tabs-wrapper{
    display:flex;
    justify-content:center;
    margin-bottom:40px;
}

.bundle-tabs {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 4px;

    padding: 5px;

    border-radius: 14px;

    background:
        rgba(15, 23, 42, 0.04);

    border:
        1px solid rgba(15, 23, 42, 0.05);

    overflow-x: auto;

    scrollbar-width: none;

    max-width: 100%;
}
.bundle-tabs::-webkit-scrollbar {
    display: none;
}

.bundle-tab {
    border: none;
    background: transparent;
    padding: 10px 16px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 600;
    color: var(--color-text-secondary, #64748b);
    cursor: pointer;
    transition: all .18s ease;
    white-space: nowrap;
}

.bundle-tab:hover {
    color: var(--color-text-primary, #0f172a);
}

.bundle-tab.active {
    background: white;
    color: var(--color-text-primary, #0f172a);
    box-shadow:
        0 1px 2px rgba(15,23,42,.04),
        0 2px 8px rgba(15,23,42,.05);
}


/* =========================================================
   GRID
========================================================= */

.bundle-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    align-items: stretch;
    justify-content: center;

}

/* =========================================================
   CARD
========================================================= */

.plan-card {
    position: relative;
    background: var(--color-background-primary, #ffffff);
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: 20px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    min-height: 360px;
    overflow: hidden;
    width: 340px;
    max-width: 100%;
    transition:
        transform .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}

.plan-card:hover {
    transform: translateY(-4px);
    border-color: rgba(15, 23, 42, 0.10);
    box-shadow:
        0 10px 30px rgba(15,23,42,.05),
        0 4px 10px rgba(15,23,42,.03);
}


/* =========================================================
   ENTERPRISE STYLES
========================================================= */

.theme-enterprise {
    background:
        linear-gradient(
            180deg,
            rgba(16,185,129,.025) 0%,
            rgba(255,255,255,1) 100%
        );

    border-color:
        rgba(16,185,129,.18);
}

.theme-enterprise:hover {
    border-color:
        rgba(16,185,129,.35);

    box-shadow:
        0 12px 32px rgba(16,185,129,.08),
        0 4px 12px rgba(15,23,42,.04);
}

.theme-flash {
    background:
        linear-gradient(
            180deg,
            rgba(239,68,68,.018) 0%,
            rgba(255,255,255,1) 100%
        );
}

.theme-daily {
    background:
        linear-gradient(
            180deg,
            rgba(245,158,11,.018) 0%,
            rgba(255,255,255,1) 100%
        );
}

.theme-flex {
    background:
        linear-gradient(
            180deg,
            rgba(59,130,246,.015) 0%,
            rgba(255,255,255,1) 100%
        );
}


/* =========================================================
   FEATURED BADGE
========================================================= */

.featured-badge {
    position: absolute;
    top: 20px;
    right: 20px;

    display: inline-flex;
    align-items: center;

    height: 28px;

    padding: 0 12px;

    border-radius: 999px;

    background:
        rgba(16,185,129,.10);

    color: #047857;

    font-size: 11px;
    font-weight: 700;
    letter-spacing: .02em;
}


/* =========================================================
   HEADER
========================================================= */

.plan-header {
    display: flex;
    flex-direction: column;
    margin-bottom: 26px;
}

.plan-title-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}

.plan-inline-badge{
    display:inline-flex;
    align-items:center;

    height:24px;

    padding:0 10px;

    border-radius:999px;

    background:
        rgba(16,185,129,.10);

    color:#047857;

    font-size:10px;
    font-weight:700;
    letter-spacing:.03em;

    white-space:nowrap;
}



.plan-name {
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-text-secondary, #64748b);
    margin-bottom: 12px;
}


/* =========================================================
   PRICE
========================================================= */

.plan-price-container {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

.currency-label {
    font-size: 13px;
    font-weight: 700;
    color: var(--color-text-secondary, #64748b);
    margin-top: 8px;
}

.plan-price {
    font-size: 40px;

    line-height: 1;

    font-weight: 800;

    letter-spacing: -0.05em;

    font-variant-numeric: tabular-nums;

    color:
        var(--color-text-primary, #0f172a);

    white-space: nowrap;
}

.plan-price-container{
    flex-shrink:0;
}


.plan-description {
    margin-top: 14px;
    font-size: 11px;
    line-height: 2;
    font-weight: 400;
    color: var(--color-text-secondary, #64748b);
}


/* =========================================================
   METRICS
========================================================= */

.metric-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-bottom: 24px;
}

.metric-card {
    background: rgba(15,23,42,.03);
    border: 1px solid rgba(15,23,42,.04);
    border-radius: 14px;
    padding: 18px;
}

.metric-value {
    font-size: 22px;
    line-height: 1.1;
    font-weight: 700;
    letter-spacing: -0.03em;
    color: var(--color-text-primary, #0f172a);
}

.metric-label {
    margin-top: 6px;
    font-size: 12px;
    font-weight: 500;
    color: var(--color-text-secondary, #64748b);
}


/* =========================================================
   META
========================================================= */

.plan-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 26px;
}

.meta-badge {
    display: inline-flex;
    align-items: center;

    height: 30px;

    padding: 0 12px;

    border-radius: 999px;

    font-size: 11px;
    font-weight: 700;
    letter-spacing: .02em;
}

.meta-country {
    background: rgba(15,23,42,.05);
    color: #334155;
}

.meta-custom {
    background: rgba(16,185,129,.10);
    color: #047857;
}

.meta-type {
    background: rgba(59,130,246,.08);
    color: #1d4ed8;
}

.plan-summary{
    display:flex;
    flex-wrap:wrap;

    gap:10px;

    margin-top:auto;
    margin-bottom:24px;
}

.summary-item{
    display:inline-flex;
    align-items:center;

    gap:8px;

    height:38px;

    padding:0 10px;

    border-radius:999px;

    background:
        rgba(15,23,42,.04);

    border:
        1px solid rgba(15,23,42,.05);

    transition:
        background .18s ease,
        border-color .18s ease;
}

.plan-card:hover .summary-item{
    background:
        rgba(15,23,42,.05);

    border-color:
        rgba(15,23,42,.08);
}

.summary-label{
    font-size:11px;
    font-weight:700;

    color:
        var(--color-text-secondary,#64748b);

    letter-spacing:.02em;

    white-space:nowrap;
}

.summary-value{
    font-size:11px;
    font-weight:700;

    color:
        var(--color-text-primary,#0f172a);

    white-space:nowrap;
}

.summary-divider{
    display:none;
}

/* =========================================================
   BUTTON
========================================================= */

.plan-btn-wrapper {
    margin-top: auto;
}

.plan-btn {
    width: 100%;
    height: 48px;

    border: none;
    border-radius: 12px;

    background: #0f172a;
    color: white;

    font-size: 14px;
    font-weight: 700;
    letter-spacing: -0.01em;

    cursor: pointer;

    transition:
        transform .15s ease,
        box-shadow .15s ease,
        background .15s ease;
}

.plan-btn:hover:not(:disabled) {
    background: #111827;

    transform: translateY(-1px);

    box-shadow:
        0 8px 20px rgba(15,23,42,.12);
}

.plan-btn:disabled {
    cursor: not-allowed;

    background: #e2e8f0;
    color: #94a3b8;
}


/* Enterprise CTA */

.theme-enterprise .plan-btn {
    background: #10b981;
}

.theme-enterprise .plan-btn:hover:not(:disabled) {
    background: #059669;

    box-shadow:
        0 8px 22px rgba(16,185,129,.18);
}


/* =========================================================
   EMPTY STATE
========================================================= */

.empty-state {
    padding: 64px 32px;

    border-radius: 20px;

    border: 1px dashed rgba(15,23,42,.10);

    text-align: center;

    font-size: 14px;
    color: var(--color-text-secondary, #64748b);

    background:
        rgba(15,23,42,.015);
}


/* =========================================================
   SECTION VISIBILITY
========================================================= */

.bundle-section {
    display: none;
}

.bundle-section.active {
    display: block;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 768px) {

    .pricing-wrapper {
        padding: 22px 16px 36px;
    }

    .pricing-title {
        font-size: 24px;
    }

    .pricing-subtitle {
        font-size: 14px;
        margin-bottom: 28px;
    }

    .bundle-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .plan-card {
        min-height: auto;
        padding: 24px;
    }

    .plan-price {
        font-size: 36px;
    }

    .metric-grid {
        gap: 10px;
    }

    .metric-card {
        padding: 14px;
    }

    .metric-value {
        font-size: 18px;
    }

    .bundle-tabs {
        width: 100%;
    }
}

/* =========================================================
   RECHARGE PREVIEW CARDS
========================================================= */

.zc-preview-card{
    width:100%;

    padding:24px;

    border-radius:20px;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,1) 0%,
            rgba(248,250,252,.94) 100%
        );

    border:
        1px solid rgba(15,23,42,.06);

    box-shadow:
        0 4px 14px rgba(15,23,42,.03);

    overflow:hidden;
}

.zc-preview-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;

    gap:16px;

    margin-bottom:22px;
}

.zc-preview-label{
    font-size:11px;
    font-weight:700;

    letter-spacing:.08em;
    text-transform:uppercase;

    color:
        var(--color-text-secondary,#64748b);

    margin-bottom:8px;
}

.zc-preview-title{
    font-size:24px;
    line-height:1.1;

    font-weight:700;
    letter-spacing:-0.03em;

    color:
        var(--color-text-primary,#0f172a);
}

.zc-preview-price{
    font-size:22px;
    font-weight:700;

    letter-spacing:-0.03em;

    color:
        var(--color-text-primary,#0f172a);

    white-space:nowrap;

    flex-shrink:0;
}

.zc-preview-badge{
    height:30px;

    display:inline-flex;
    align-items:center;

    padding:0 12px;

    border-radius:999px;

    background:
        rgba(16,185,129,.10);

    color:#047857;

    font-size:11px;
    font-weight:700;

    flex-shrink:0;
}

.zc-preview-grid{
    display:grid;

    grid-template-columns:
        repeat(auto-fit,minmax(180px,1fr));

    gap:14px;
}

.zc-preview-item{
    padding:16px;

    border-radius:16px;

    background:
        rgba(15,23,42,.03);

    border:
        1px solid rgba(15,23,42,.04);

    transition:
        background .18s ease,
        border-color .18s ease;
}

.zc-preview-card:hover .zc-preview-item{
    background:
        rgba(15,23,42,.045);

    border-color:
        rgba(15,23,42,.07);
}

.zc-preview-item span{
    display:block;

    font-size:10px;
    font-weight:700;

    letter-spacing:.08em;
    text-transform:uppercase;

    color:
        var(--color-text-secondary,#64748b);

    margin-bottom:10px;
}

.zc-preview-item strong{
    font-size:16px;
    line-height:1.2;

    font-weight:700;

    letter-spacing:-0.02em;

    color:
        var(--color-text-primary,#0f172a);
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width:768px){

    .zc-preview-card{
        padding:20px;
    }

    .zc-preview-header{
        flex-direction:column;
        align-items:flex-start;
    }

    .zc-preview-title{
        font-size:20px;
    }

    .zc-preview-grid{
        grid-template-columns:1fr;
    }

    .zc-preview-item{
        padding:14px;
    }
}

/* =========================================================
   BALANCE PREVIEW
========================================================= */

.zc-balance-grid{
    display:grid;

    grid-template-columns:1fr 1fr;

    gap:12px;

    margin-bottom:20px;
}

.zc-balance-item{
    padding:14px;

    border-radius:14px;

    background:
        rgba(15,23,42,.03);

    border:
        1px solid rgba(15,23,42,.05);
}

.zc-balance-label{
    display:block;

    font-size:10px;
    font-weight:700;

    letter-spacing:.08em;
    text-transform:uppercase;

    color:
        var(--color-text-secondary,#64748b);

    margin-bottom:8px;
}

.zc-balance-value{
    font-size:16px;
    font-weight:700;

    letter-spacing:-0.02em;

    color:
        var(--color-text-primary,#0f172a);
}

@media (max-width:768px){

    .zc-balance-grid{
        grid-template-columns:1fr;
    }
}

.bundle-selector-trigger{
    all:unset;

    display:block;

    cursor:pointer;
}

.plan-card.is-selectable{
    cursor:pointer;
}

.plan-card.is-selected{
    border-color:#10b981;

    box-shadow:
        0 0 0 2px rgba(16,185,129,.12),
        0 12px 24px rgba(16,185,129,.08);
}
.zc-legal-notice{
    margin-top:18px;

    font-size:12px;
    line-height:1.6;

    color:var(--color-text-secondary,#64748b);

    text-align:right;
}

.zc-legal-link{
    color:var(--primary-600,#2563eb);

    font-weight:600;

    text-decoration:none;
}

.zc-legal-link:hover{
    text-decoration:underline;
}
