/**
 * Aistros Billing - Frontend Styles
 */

/* Token Balance Widget */
.aistros-token-balance-widget {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: var(--aistros-radius-md, 8px);
    padding: 20px;
    margin: 20px 0;
    font-family: var(--font-family);
}

.aistros-token-balance-widget .balance-header h3 {
    margin: 0 0 15px 0;
    font-size: 1.5em;
    color: var(--primary-color);
}

.aistros-token-balance-widget .balance-main {
    font-size: 1.8em;
    font-weight: bold;
    margin-bottom: 20px;
    color: var(--zodiac-dark-brown, #2d3748); /* Using a dark text color from Zodiac as a fallback, or theme default */
}

.aistros-token-balance-widget .balance-value {
    color: var(--success-color);
}

.aistros-token-balance-widget .balance-details {
    background: #f7fafc;
    padding: 15px;
    border-radius: var(--aistros-radius-sm, 5px);
    margin-bottom: 15px;
}

.aistros-token-balance-widget .balance-row {
    display: flex;
    justify-content: space-between;
    padding: 5px 0;
}

.aistros-token-balance-widget .balance-actions {
    display: flex;
    gap: 10px;
}

/* Token Packages */
.aistros-token-packages {
    margin: 30px 0;
}

.aistros-token-packages h2 {
    text-align: center;
    margin-bottom: 30px;
    color: var(--primary-color);
    font-family: var(--font-family);
}

.packages-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
    margin: 20px 0;
}

.package-card {
    background: #fff;
    border: 2px solid #e2e8f0;
    border-radius: var(--aistros-radius-md, 8px);
    padding: 30px 20px;
    text-align: center;
    transition: all 0.3s;
    font-family: var(--font-family);
}

.package-card:hover {
    border-color: var(--primary-color);
    transform: translateY(-5px);
    box-shadow: 0 10px 20px color-mix(in srgb, var(--primary-color) 20%, transparent);
}

.package-card h3 {
    margin: 0 0 15px 0;
    color: var(--zodiac-dark-brown, #2d3748); /* Using a dark text color from Zodiac as a fallback, or theme default */
}

.package-tokens {
    font-size: 1.5em;
    font-weight: bold;
    color: var(--success-color);
    margin: 15px 0;
}

.package-price {
    font-size: 2em;
    font-weight: bold;
    color: var(--primary-color);
    margin: 15px 0;
}

.package-discount {
    background: var(--warning-color);
    color: white;
    padding: 5px 10px;
    border-radius: var(--aistros-radius-xl, 15px);
    display: inline-block;
    margin: 10px 0;
    font-size: 0.9em;
}

.buy-package-btn {
    width: 100%;
    margin-top: 15px;
}

/* Messages */
.aistros-login-required,
.aistros-balance-notice,
.aistros-balance-error {
    padding: 15px;
    border-radius: var(--aistros-radius-sm, 5px);
    margin: 20px 0;
    font-family: var(--font-family);
}

.aistros-login-required {
    background: #fff3cd;
    border-left: 4px solid var(--warning-color);
    color: #744210;
}

.aistros-balance-error {
    background: #fed7d7;
    border-left: 4px solid var(--danger-color);
    color: #742a2a;
}
