/* Pricing Component - Refactored with BEM Methodology */

/* CSS Custom Properties for Pricing Colors */
:root {
    --pricing-standard-color: #ffcc00;
    --pricing-medium-color: #ff8755;
    --pricing-large-color: var(--color-secondary);
    --pricing-cluster-color: #ff00ff;
    --pricing-gradient-line: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.8), transparent);
}

/* Block: pricing */
.pricing {
    min-height: 100vh;
    background-color: rgba(var(--color-background-rgb), 0.65);
}

/* Element: pricing__header */
.pricing__header {
    text-align: center;
    margin-bottom: var(--spacing-2xl);
}

/* Element: pricing__grid */
.pricing__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--spacing-lg);
    margin-bottom: var(--spacing-xl);
    padding-bottom: var(--spacing-sm);
}

/* Block: pricing-card */
.pricing-card {
    background: linear-gradient(135deg, var(--color-surface) 0%, rgba(255, 0, 255, 0.05) 100%);
    border: 2px solid var(--color-secondary);
    border-radius: var(--border-radius-lg);
    overflow: hidden;
    transition: transform var(--transition-base), box-shadow var(--transition-base);
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    text-decoration: none;
    color: inherit;
    will-change: transform, opacity;
}

/* Color-coordinated borders using CSS custom properties */
.pricing-card--standard {
    border-color: var(--pricing-standard-color);
}

.pricing-card--medium {
    border-color: var(--pricing-medium-color);
}

.pricing-card--large {
    border-color: var(--pricing-large-color);
}

.pricing-card--cluster {
    border-color: var(--pricing-cluster-color);
}

/* Animation System - Optimized */
.pricing-card.animate-on-scroll.animate-in {
    transform: translateY(0) rotateX(0deg);
}

.pricing-card.animate-on-scroll {
    transform: translateY(50px) rotateX(15deg);
    transition: opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94), 
                transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transform-style: preserve-3d;
    will-change: opacity, transform;
}

/* Element: pricing-card__content */
.pricing-card__content {
    position: relative;
    z-index: 2;
    padding: var(--spacing-lg); /* Reduced from var(--spacing-xl) */
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Element: pricing-card__header */
.pricing-card__header {
    text-align: center;
    margin-bottom: var(--spacing-md); /* Reduced from var(--spacing-lg) */
    position: relative;
    padding: var(--spacing-md); /* Reduced from var(--spacing-lg) */
    margin: calc(-1 * var(--spacing-lg)) calc(-1 * var(--spacing-lg)) var(--spacing-md) calc(-1 * var(--spacing-lg)); /* Adjusted margins */
}

/* Gradient line hover effect */
.pricing-card__header::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: var(--pricing-gradient-line);
    transform: translateX(-100%);
    transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    will-change: transform;
}

.pricing-card:hover .pricing-card__header::after {
    transform: translateX(100%);
}

/* Color-coordinated headers using CSS custom properties */
.pricing-card--standard .pricing-card__header {
    background: var(--pricing-standard-color);
}

.pricing-card--medium .pricing-card__header {
    background: var(--pricing-medium-color);
}

.pricing-card--large .pricing-card__header {
    background: var(--pricing-large-color);
}

.pricing-card--cluster .pricing-card__header {
    background: var(--pricing-cluster-color);
}

/* Element: pricing-card__title */
.pricing-card__title {
    font-family: var(--font-family-header);
    font-size: var(--font-size-3xl); /* Increased from var(--font-size-2xl) */
    font-weight: var(--font-weight-normal);
    color: white; /* Changed from var(--color-text) to white */
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Element: pricing-card__price */
.pricing-card__price {
    font-family: var(--font-family-header);
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-normal);
    color: white; /* Changed from var(--color-text) to white */
    margin: 0;
}

/* Element: pricing-card__details */
.pricing-card__details {
    margin-top: var(--spacing-lg);
    flex-grow: 1;
}

/* Element: pricing-card__features */
.pricing-card__features {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs); /* Reduced from var(--spacing-sm) */
}

/* Element: pricing-feature */
.pricing-feature {
    padding: var(--spacing-xs) 0;
    color: var(--color-text);
    font-size: var(--font-size-sm);
    border-bottom: 1px solid rgba(var(--color-border-rgb), 0.2);
    position: relative;
    padding-left: 1.5rem;
    line-height: 1.4;
    list-style: none; /* Explicitly remove list markers */
    list-style-type: none; /* Explicitly remove list markers */
    display: flex;
    align-items: center; /* Center the span vertically */
}

.pricing-feature span {
    display: inline-block;
    vertical-align: baseline;
}

.pricing-feature::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: var(--color-secondary);
    font-weight: bold;
    font-size: 0.9em;
    line-height: 1.4; /* Match the parent line-height */
    display: flex;
    align-items: center; /* Center vertically within the line height */
    height: 1.4em; /* Match the line height */
}

.pricing-feature:last-child {
    border-bottom: none;
}

.pricing-feature:first-child {
    padding-top: 0;
}

/* Element: pricing__footer */
.pricing__footer {
    text-align: center;
    margin-top: var(--spacing-xl);
}

/* Element: pricing__notes */
.pricing__notes {
    color: #a3a3a3; /* Keep grey for pricing notes */
    font-size: var(--font-size-sm);
    margin-bottom: var(--spacing-md);
}

/* Element: pricing__subtitle */
.pricing__subtitle {
    color: var(--color-text);
    font-size: var(--font-size-lg);
    margin-bottom: var(--spacing-sm);
}

/* Element: pricing__disclaimer */
.pricing__disclaimer {
    color: #a3a3a3; /* Keep grey for pricing disclaimer */
    font-size: var(--font-size-xs);
    font-style: italic;
}

/* Responsive Design - Consolidated Breakpoints */
@media (max-width: 1200px) {
    .pricing__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--spacing-md);
    }
}

@media (max-width: 768px) {
    .pricing {
        padding: var(--spacing-xl) 0;
    }
    
    .pricing__grid {
        grid-template-columns: 1fr;
        max-width: 400px;
        margin: 0 auto var(--spacing-xl);
    }
}

@media (max-width: 480px) {
    .pricing-card__header {
        margin-bottom: var(--spacing-md);
    }
    
    .pricing-card__title {
        font-size: var(--font-size-2xl);
    }
    
    .pricing-card__price {
        font-size: var(--font-size-base);
    }
} 