/* 位置選擇器樣式 */
.location-selector {
    .location-buttons-grid {
        display: flex;
        flex-wrap: wrap;
        gap: 0.5rem;
        
        .location-btn {
            padding: 0.5rem 1rem;
            border: 2px solid #e9ecef;
            background-color: #fff;
            border-radius: 0.375rem;
            cursor: pointer;
            transition: all 0.2s ease-in-out;
            font-size: 0.875rem;
            font-weight: 500;
            
            &:hover {
                border-color: #1462CC;
                background-color: #f8f9fa;
            }
            
            &.active {
                border-color: #14256A;
                background-color: #14256A;
                color: #fff;
                
                &:hover {
                    background-color: #1a2d7f;
                }
            }
            
            &.location-btn-other {
                border-style: dashed;
                border-color: #6c757d;
                color: #6c757d;
                
                &:hover {
                    border-color: #495057;
                    color: #495057;
                }
                
                &.active {
                    border-style: solid;
                    border-color: #14256A;
                    background-color: #14256A;
                    color: #fff;
                }
            }
        }
    }
    
    .custom-location-input {
        margin-top: 0.5rem;
        
        input {
            border: 2px solid #14256A;
            border-radius: 0.375rem;
            
            &:focus {
                border-color: #1462CC;
                box-shadow: 0 0 0 0.2rem rgba(20, 98, 204, 0.25);
            }
        }
    }
    
    input[readonly] {
        background-color: #f8f9fa;
        cursor: not-allowed;
        
        &:focus {
            box-shadow: none;
        }
    }
    
    &.is-invalid {
        .location-buttons-grid {
            border: 1px solid #dc3545;
            border-radius: 0.375rem;
            padding: 0.25rem;
        }
        
        input[readonly] {
            border-color: #dc3545;
        }
    }
    
    .location-error {
        margin-top: 0.25rem;
        font-size: 0.875rem;
    }
}
