/* Page-specific styles split from assets/css/site.css. */

.pricing-layout {
    display: grid;
    grid-template-columns: minmax(280px, .75fr) minmax(0, 1.25fr);
    gap: 18px;
    align-items: start;
    margin-top: 34px;
}

.pricing-card {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    position: sticky;
    top: 96px;
    min-height: 328px;
}

.pricing-card h2 {
    margin: 0 0 12px;
    font-size: 24px;
}

.pricing-pay-action {
    width: 100%;
    margin-top: 10px;
    font-size: 17px;
}

.pricing-notice {
    display: grid;
    gap: 8px;
}

.pricing-notice p {
    display: flex;
    gap: 8px;
    margin: 0;
    color: var(--muted);
    font-size: 14px;
}

.pricing-notice span {
    color: var(--primary);
    font-weight: 900;
    flex: 0 0 auto;
}

@media (max-width: 760px) {
    .pricing-layout {
            grid-template-columns: 1fr;
            gap: 14px;
            margin-top: 22px;
        }
    
        .pricing-card {
            position: static;
            min-height: 0;
            padding: 18px;
        }
    
        .pricing-card h2 {
            margin-bottom: 10px;
            font-size: 21px;
        }
    
        .pricing-pay-action {
            min-height: 44px;
            margin-top: 12px;
            font-size: 15px;
        }
    
        .pricing-detail .grid.cols-2 {
            grid-template-columns: 1fr;
            gap: 10px;
        }
    
        .pricing-detail .feature {
            padding: 16px;
        }
    
        .pricing-notice {
            gap: 10px;
        }
    
        .pricing-notice p {
            align-items: flex-start;
            font-size: 12px;
            line-height: 1.55;
        }
}

@media (max-width: 900px) {
    .pricing-card {
            position: static;
        }
}
