/* Responsive Design Rules */
@media screen and (max-width: 1200px) {
    main {
        padding: 0 15px 30px;
    }
}

@media screen and (max-width: 992px) {
    .store-content {
        grid-template-columns: 1fr 1fr;
    }
    
    .store-map {
        grid-column: span 2;
    }
}

@media screen and (max-width: 768px) {
    .banner h1 {
        font-size: 2rem;
    }
    
    .state-buttons {
        flex-direction: column;
        align-items: center;
    }
    
    .state-button {
        width: 100%;
        max-width: 300px;
    }
    
    .store-content {
        grid-template-columns: 1fr;
    }
    
    .store-map {
        grid-column: auto;
    }
}

@media screen and (max-width: 480px) {
    .banner h1 {
        font-size: 1.5rem;
    }
    
    .city-grid {
        grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    }
    
    .store-name {
        font-size: 1.2rem;
    }
} 