/* Mobile-optimized intro section and category styling */
@media (max-width: 768px) {
    /* Intro section with "Why Our Plans Are Cheaper" */
    .intro-section {
        padding: 20px 0;
    }
    
    .intro-content {
        text-align: center;
    }
    
    .section-title {
        font-size: 18px;
        margin-bottom: 10px;
        text-align: center;
    }
    
    .intro-text {
        font-size: 14px;
        line-height: 1.4;
        margin-bottom: 15px;
        text-align: left;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
        position: relative;
    }
    
    .intro-text.expanded {
        -webkit-line-clamp: unset;
        line-clamp: unset;
    }
    
    .read-more {
        color: var(--primary-color);
        font-weight: 600;
        font-size: 13px;
        display: inline-block;
        margin-bottom: 15px;
        cursor: pointer;
    }
    
    .trust-badges {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px;
        margin-bottom: 10px;
    }
    
    .badge {
        flex: 0 0 auto;
        width: auto;
        padding: 8px 12px;
        font-size: 12px;
        border-radius: 20px;
    }
    
    .badge i {
        font-size: 12px;
        margin-right: 5px;
    }
    
    /* Category section styling - more concise for mobile */
    .category-title {
        font-size: 15px;
        margin: 20px 0 12px;
        padding-left: 6px;
        border-left: 3px solid var(--primary-color);
    }
    
    /* Category filter styling - more compact */
    .filter-section {
        padding: 10px 0;
        margin-bottom: 15px;
    }
    
    .filter-container {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
        background-color: #f9f9f9;
        border-radius: 8px;
        padding: 10px;
    }
    
    body.dark-mode .filter-container {
        background-color: #222;
    }
    
    .filter-group {
        margin-bottom: 0;
    }
    
    .filter-label {
        font-size: 11px;
        font-weight: 500;
        margin-bottom: 3px;
        display: block;
    }
    
    .filter-select {
        width: 100%;
        padding: 6px 8px;
        font-size: 12px;
        border-radius: 4px;
        border: 1px solid #ddd;
        background-color: white;
        max-width: 100%;
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden;
    }
    
    /* Fix for select option text overflow */
    .filter-select option {
        white-space: normal;
    }
    
    /* Ensure all filter groups have equal width */
    .filter-container .filter-group {
        min-width: 0;
    }
    
    /* Make sort and duration filters in one row */
    .filter-container .filter-group:nth-child(3),
    .filter-container .filter-group:nth-child(4) {
        grid-column: span 1;
    }
    
    /* Make category and price filters in one row */
    .filter-container .filter-group:nth-child(1),
    .filter-container .filter-group:nth-child(2) {
        grid-column: span 1;
    }
    
    /* Adjust for very small screens */
    @media (max-width: 360px) {
        .filter-container {
            grid-template-columns: 1fr;
        }
        
        .filter-container .filter-group {
            grid-column: span 1;
        }
    }
}
